Subject: Re: [boost] Boost.Build and Microsoft C2 clang
From: Stephan T. Lavavej (stl_at_[hidden])
Date: 2017-06-27 17:32:25
> I've been using C2 clang as my daily Windows compiler for over a year now.
> Just for the improved warnings and diagnostics alone it is amazing.
> I know Microsoft say it's not production ready
Sorry, but we aren't planning to update Clang/C2 for C++. Clang/C2 3.8 in VS 2017 15.3 (first toolset update) will be the final version supported by our STL. We're now testing our STL with Clang/LLVM 4.0 which will be supported in the second toolset update - unless (depending on release timing) I increase the required version to Clang/LLVM 5.0.
The Clang/LLVM team has been doing amazing work to ensure source and binary compatibility; by "will be supported" I mean that on Microsoft's end, we're running Clang/LLVM in our test harness (against our own test suites, and libc++'s tests with our STL) to find obscure issues and prevent regressions as we change our code and take advantage of new features. For example, Clang/LLVM 4.0 lacked an atomic builtin; the workaround is to include <intrin.h> before <atomic>. In the second toolset update, I do this automatically as a workaround for 4.0 (and will remove this for 5.0). We've also reported a few bugs upstream, which will improve Clang for everyone.
This is much like how Boost supported MSVC for many many years, but now we extensively test it against our development compiler, preventing many bugs from ever appearing.
Stephan T. Lavavej
Principal Software Engineer, Visual C++ Libraries
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk