$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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.