Boost logo

Boost :

Subject: Re: [boost] [config] Need help with clang config
From: Edward Diener (eldiener_at_[hidden])
Date: 2017-05-19 01:02:43


On 5/18/2017 5:40 PM, Peter Dimov via Boost wrote:
> John Maddock wrote:
>
>> I've just added travis support to Boost.Config, the problem is that
>> there are a large number of clang failures that I simply don't know
>> how to fix, see: https://travis-ci.org/boostorg/config
>>
>> The errors occur because clang chokes on libstdc++ code, so while
>> <regex> exists (for example), clang won't parse it. Any ideas anyone?
>
> The configuration with the built-in clang++ in C++11 mode should just be
> disabled; the default libstdc++ on Travis is 4.6 and is too broken for
> any serious C++11 work.
>
> Clang 3.5 uses libstdc++ 4.8, for which Config probably disables <regex>
> as known non-working, which is why it passes.
>
> Clang 3.6 and above on that configuration use libstdc++ 4.9, which we
> probably assume is working, but apparently not on Clang (it doesn't like
> the constant expression 1 << 32.)
>
> So we should disable <regex> 4.9 on Clang. This:
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78905
>
> says that _GLIBCXX_REGEX_STATE_LIMIT is defined on 5 and
> _GLIBCXX_RELEASE is defined on 7, although I see that we have our own
> macro BOOST_LIBSTDCXX_VERSION, so we could just use that.

I have always had a difficult problem trying to figure out with which
version of gcc/libstdc++ a particular version of clang will work. I have
asked about this on the clang developers mailing list but received no
answer. If there is any information about this anywhere I would surely
like to know where it is.


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