Boost logo

Boost :

Subject: Re: [boost] [build] VC++ 2017 version number?
From: mloskot (mateusz_at_[hidden])
Date: 2017-03-21 23:16:56

Boost - Dev mailing list wrote
> [Tom Kent]
>> As I said before, for my opinion, I think we should move to msvc-15.0 for
>> the toolset, as that will be *less* confusion for the end-users.
> I disagree - 15 is the IDE's version number. The IDE can host multiple
> toolsets (already it can install v140 and v141; expect more in the
> future).
> Another approach would be to give up on the 14.x version numbers entirely
> (admittedly it is confusing to have the v141 toolset linking against
> msvcp140.dll for bincompat). Instead, use _MSC_VER as the toolset
> identifier - this is 1900 for VS 2015 (RTM/Updates) and 1910 for VS 2017
> RTM, and will increase in a fairly predictable, monotonic way in the
> future.

BTW, I'm trying out the VS2017's Clang with Microsoft CodeGen and I'm quite
surprised that both,
CL.EXE and Clang.exe identify themselve as Microsoft Compiler, via _MSC_VER

F:\>cat test.cpp
#ifdef _MSC_VER
#error CL with Clang.exe here
int main() { return 0; }

F:\>cl /nologo test.cpp
test.cpp(2): fatal error C1189: #error: CL with Clang.exe here

F:\>"c:\Program Files (x86)\Microsoft Visual
test.cpp:2:2: error: CL with Clang.exe here
#error CL with Clang.exe here
1 error generated.


This table at [1] seems to confirm that too.

Is that a temporary (alpha/beta state?). Hopefully.

Versioning two different compilers under the same _MSC_VER is clearly going
to add up
to the overall confusion and toolset version fiasco.

[1] Identifying your Platform and Toolset

Mateusz Loskot
Mateusz Loskot,
View this message in context:
Sent from the Boost - Dev mailing list archive at

Boost list run by bdawes at, gregod at, cpdaniel at, john at