On 3/8/2017 11:47 AM, Niall Douglas via Boost wrote:
Oh, and the reference to Update 2 is when it started to compile the Windows headers without any special options.
I installed the "Clang with Microsoft codegen", aka C2/clang, for VS2015 in order to see what I might need to do to integrate it into Boost PP/VMD. I then went looking for documentation in the VS2015 IDE Help for how to use it either from the IDE or command line. Absolutely no documentation exists within Visual Studio 2015 about it, nor is there any official docs anywhere on the web which I could find. I doubt very much whether this is a viable option in VS2015 for compiling Boost libraries. I will take a look again with VS2017, which I have just downloaded, but considering that no documentation for this exists AFAICS I highly doubt whether this Microsoft offering, whatever it is, will work with Boost. Call me a skeptic, but if I a C++ product is released without documentation, whether from Microsoft or anyone else, I have great doubts that it will actually work with C++ standard code.
I vaguely remember Boost Build added support for C2 clang a while back. That would be VS2015 located C2 clang, VS2017 uses some very weird path for it.
cmake has also built in support for C2 clang, it's something like -T v140_clang_c2.
In terms of documentation for it, basically it works like LLVM clang except for additional ICEs, it doesn't support a lot of the SIMD intrinsics, and you can debug its output fully. A really fun thing you can do with C2 clang is turn on the sanitisers and they nearly actually work.
Thanks, but that is not documentation. I cannot even find information how to use it from the command line or in the IDE. Needless to say if it works like LLVM clang for Windows targeting VC++ it is worthless as far as Boost is concerned. The fact that it is not documented means to me that Microsoft has produced vapourware and just given it a name.
Niall