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 14:27:34


On 3/26/2017 4:06 AM, Peter Dimov via Boost wrote:
> Edward Diener wrote:
>
>> I have updated Boost PP on the develop branch to support the
>> -fno-ms-compatibility mode of clang targeting VC++ or clang/C2.
>
> ...failed updating 1 target...
> ...skipped 2 targets...
> ...updated 133 targets...
>
> The only error is config_info.exe, because my Clang configuration can't
> link, as explained.
>
> My two errors in my previous run were (1) forgetting to patch the first
> _MSC_VER section to use strict and (2) using <cxxflags> for
> -fno-ms-compatibility, which left all C tests in -fms-compatibility mode.
>
> No idea why it doesn't work for you.

I did forget about "cflags=-fno-ms-compatibility" in my testing. Now I
see that with both "cxxflags=-fno-ms-compatibility" and
"cflags=-fno-ms-compatibility" the Boost PP tests all pass for clang
using -fno-ms-compatibility and the clang-win toolset. Well I am
certainly glad it worked and that clang targeting VC++ using
-fno-ms-compatibility does work with my latest fix of Boost PP on the
develop branch.

Since that update only affects Boost PP when using clang in
-fno-ms-compatibility mode ( aka clang targeting VC++ with
-fno-ms-compatibility turned on ) I wonder If it is not too late to get
it into the 'master' branch for the upcoming 1.64 release. Of course the
Boost PP regression tests on the develop branch will not have cycled
yet, but this fix may be important for VC++ developers wanting to use
clang/C2 and Boost.

However there are still some problems with the clang-win jam file which
I am not experienced enough with Boost Build to solve, so others will
need to figure them out. These are some PRs for Boost Build relating to
those problems.

You seem to be using the clang.jam file instead. I do not know how you
are supposed to get that to work with clang targeting VC++ or clang/C2,
but I strongly believe that my Boost PP config.hpp for
-fno-ms-compatibility is correct. I could not follow on your subsequent
posts what you are doing so if you can stick to a single reply it would
be appreciated.


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