On 3/7/2017 2:24 PM, Bo Persson via Boost wrote:
On 2017-03-07 20:18, Bo Persson via Boost wrote:
On 2017-03-07 20:01, Edward Diener via Boost wrote:
On 3/7/2017 12:12 PM, Niall Douglas via Boost wrote:
On 07/03/2017 16:48, Edward Diener via Boost wrote:
On 3/7/2017 9:47 AM, Niall Douglas via Boost wrote:
> The problem with clang targeting the MSVC ABI, as far as Boost is > concerned, is that it erroneously implements the non-standard VC++ > preprocessor. This makes it all but useless for using with Boost. > That > it should have even been designed to do this for all macros, rather > than > just for the macros it needed when processing VC++ and Windows > headers, > is its major downfall. When you have to emulate something that is > already non-standard, and for which no internal knowledge is > available, > you are already on the wrong path.
You can tell C2 clang to not use MSVC compatibility and VS2015 Update 2 and later's headers will now compile cleanly. I would assume VS2017 is the same.
Where is C2/clang available for download ? It seems the only thing that is not mentioned in the C2/clang blogs. Nice going Microsoft !
In the VS2017 installer, you just choose C2 clang just as you would any other component.
Your mention of VS2015 Update 2 above led me to think it was some downloadable software available for that product. Now I realize that it is available for VS2017 currently being launched. So much hubbub for a product which is just now being officially made available has confused me. I have this bad habit of waiting until some software actually officially exists and can be used before I become interested in it. Excuse me <g> !
It is available in the VS2015 installer as well. And has been all the time.
But if you want to try it out now, from today VS2017 would be the obvious choice. :-)
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.
Bo Persson