On 11/17/2018 3:12 PM, Peter Dimov via Boost wrote:
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.
According to
https://github.com/llvm-mirror/clang/blob/2bade23358bd718ed8ea2b5f5405ac52e1...
the only way to make clang-cl.exe use an older VS installation is to invoke it from the corresponding developer command prompt.
I discovered that the clang-cl --version option only works with clang 6.0 on up, whereas the clang-cl -v option works down through clang 3.5 ( but not clang 3.4 ). Both output the exact same result AFAICS. However the --version option when clang-win captures it with SHELL "$(compiler) --version" does not show in a Windows command window whereas the -v option when clang-win captures it with SHELL "$(compiler) -v" does show in the Windows command window. Nonetheless I submitted a PR to change it in clang-win as some extra output showing does not appear important to me, whereas picking up the correct version in clang-win does. A worse situation relatively is that 'clang-cl something /link' works only on clang 3.9 on up. So trying to use clang-win-3.8 does not work because of SHELL "$(compiler) -m$(addr) -### foo.obj /link 2>&1" in clang-win. However since clang 3.8 is pretty old now this is no big deal.