Boost logo

Boost :

Subject: Re: [boost] [regression runner] Preference libstdc++ vs. libc++
From: Edward Diener (eldiener_at_[hidden])
Date: 2017-03-08 15:34:21


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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk