$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] `b2 toolset=clang-win` now works on Appveyor
From: Edward Diener (eldiener_at_[hidden])
Date: 2018-11-18 10:42:12
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/2bade23358bd718ed8ea2b5f5405ac52e10bf041/lib/Driver/ToolChains/MSVC.cpp#L700 
> 
> 
> 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.