Boost logo

Boost :

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.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk