On Sat, Aug 07, 2021 at 04:26:33PM +0200, Ævar Arnfjörð Bjarmason wrote: > > That would probably be better. I would be curious to hear from somebody > > with a mac if this technique gives more sensible version numbers for the > > Apple-clang compiler. > > It does, on the gcc304 box on the gccfarm (recent apple M1 Mac Mini): > > avar@minimac ~ % uname -a > Darwin minimac.moose.housegordon.com 20.4.0 Darwin Kernel Version 20.4.0: Thu Apr 22 21:46:41 PDT 2021; root:xnu-7195.101.2~1/RELEASE_ARM64_T8101 arm64 > avar@minimac ~ % clang --version > Apple clang version 12.0.5 (clang-1205.0.22.9) > Target: arm64-apple-darwin20.4.0 > Thread model: posix > InstalledDir: /Library/Developer/CommandLineTools/usr/bin > > avar@minimac ~ % cat >f > GNUC=__GNUC__ > GNUC_MINOR=__GNUC_MINOR__ > GNUC_PATCHLEVEL=__GNUC_PATCHLEVEL__ > clang=__clang__ > clang_major=__clang_major__ > clang_minor=__clang_minor__ > clang_patchlevel=__clang_patchlevel__ > > ^C > > avar@minimac ~ % clang -E - <f > # 1 "<stdin>" > # 1 "<built-in>" 1 > # 1 "<built-in>" 3 > # 384 "<built-in>" 3 > # 1 "<command line>" 1 > # 1 "<built-in>" 2 > # 1 "<stdin>" 2 > GNUC=4 > GNUC_MINOR=2 > GNUC_PATCHLEVEL=1 > clang=1 > clang_major=12 > clang_minor=0 > clang_patchlevel=5 Hmm, now I'm really confused, though. Is that really clang 12 (for which there is no 12.0.5; 12.0.1 is the latest version, shipped in July)? Or is it XCode 12, shipping with LLVM 11, according to the table in: https://en.wikipedia.org/wiki/Xcode#Xcode_11.x_-_13.x_(since_SwiftUI_framework) (sorry, there are actually _two_ tables with that same anchor on the page; the one you want is the second one, under "Toolchain versions"). The distinction does not matter for our script (where we only care about "clang4" and up). I guess the most relevant test would be to get XCode 8.x and see what it says. I expect it to claim "clang 8.1.0" or similar, but actually be clang-3. And therefore not support -Wtautological-constant-out-of-range-compare. If we can't get easily get hold of such a platform, then maybe that is a good indication that this conversation is too academic for now, and we should wait until somebody wants to add a more recent version-specifier to config.mak.dev. ;) -Peff