On 11/17/2018 3:00 PM, Peter Dimov via Boost wrote:
Edward Diener wrote:
But if I invoke 'b2 toolset=clang-win-6.0' against some test jam file with a user-config.jam file of 'using clang-win : 6.0 : C:/Utilities/LLVM/601/x32/bin/clang-cl ;' I constantly get:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include\yvals_core.h(294,5): error: STL1000: Unexpected compiler version, expected Clang 7 or newer. #error STL1000: Unexpected compiler version, expected Clang 7 or newer.
That's a feature of the new MSVC 15.9. 15.8 worked with clang 6.
Even if I add a 'using msvc : 14.0 ;' to my user-config.jam the same problem occurs. It seems as if clang-win always uses the latest version of vc++, which of course does not work with an earlier version of clang, as the error message shows.
Which version of VS is used by clang-cl.exe is not determined by clang-win.jam, it's decided by clang-cl.exe itself. You could try -fmsc-version=1900, I suppose.
Even with -fmsc-version=1900 the same problem occurs and the latest vc++ is used. The most interesting thing is that if I use the usere-config.jam file of: using clang : 6.0 : C:/Utilities/LLVM/601/x32/bin/clang++ : <compileflags>-fmsc-version=1900 <linkflags>-fuse-ld=lld ; I do not get any error about an expected Clang 7 and vc++14.0 is being used.