Boost logo

Boost :

Subject: Re: [boost] [config] Need help with clang config
From: Peter Dimov (lists_at_[hidden])
Date: 2017-05-18 21:40:11


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.


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