
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 #endif int main() { return 0; } F:\>cl /nologo test.cpp test.cpp test.cpp(2): fatal error C1189: #error: CL with Clang.exe here F:\>"c:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\ClangC2\14.10.25903\bin\HostX86\clang.exe" test.cpp test.cpp:2:2: error: CL with Clang.exe here #error CL with Clang.exe here ^ 1 error generated. F:\> 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 https://blogs.msdn.microsoft.com/vcblog/2015/12/04/clang-with-microsoft-code... -- Regards, Mateusz Loskot ----- -- Mateusz Loskot, http://mateusz.loskot.net -- View this message in context: http://boost.2283326.n4.nabble.com/build-VC-2017-version-number-tp4692260p46... Sent from the Boost - Dev mailing list archive at Nabble.com.