Boost logo

Boost :

Subject: Re: [boost] Clang 4.0.0 MPL error in Boost next.hpp and prior.hpp
From: Edward Diener (eldiener_at_[hidden])
Date: 2017-03-26 16:00:38


On 3/26/2017 8:28 AM, Peter Dimov via Boost wrote:
> Edward Diener wrote:
> On 3/26/2017 7:59 AM, Peter Dimov via Boost wrote:
>>
>> > TL;DR as I said yesterday, you need to to the changes
>> unconditionally > for __clang__ and not look at __GNUC__.
>>
>> I do not understand this. You are saying that __clang__ being defined
>> and _MSC_VER being defined should always be strict compliance with
>> variadics turned on but without any VC++ related fixes ?
>
> Yes.
>
> Before the changes:
>
> clang -fms-compatibility: broken
> clang -fno-ms-compatibility: broken
>
> After your changes (conditional upon __GNUC__):
>
> clang -fms-compatibility: broken
> clang -fno-ms-compatibility: working
>
> After same changes, unconditional:
>
> clang -fms-compatibility: working
> clang -fno-ms-compatibility: working
>
>> What about the so-called emulation by clang of the non-standard VC++
>> preprocessor ?
>
> There apparently exists no such emulation, at least as far as the PP
> tests show. Maybe it existed once, I don't know, but this doesn't seem
> to be the case today.

You are absolutely correct and I have updated Boost PP on the 'develop'
branch accordingly.

I did see a few errors testing clang 3.8.1 clang-cl, but with clang
3.9.1 clang-cl, clang 4.0 clang-cl, and the latest clang built from
source clang-cl all Boost PP tests passed. I did use clang-win.jam.

How did you get just clang.jam to work ? Doesn't it need VC++ support
when using clang-cl ?


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