Boost logo

Boost :

From: Eric Niebler (eric_at_[hidden])
Date: 2007-04-27 13:47:54

Doug Gregor wrote:
> Hello fellow Boosters,
> GCC 4.3 will have an experimental C++0x mode containing several of
> the new features coming into the language. I have started nightly
> regression testing of Boost CVS HEAD on the current version of GCC
> 4.3 using this experimental mode. The "OSL5" tester will run nightly,
> and allow us to try out these new features within Boost.

This is going to be very useful, thanks Doug. From the regression
reports (, I see this version of GCC is not
happy at all with xpressive. There are at least two problems:

In file included from ../boost/detail/atomic_count.hpp:97,
                  from ../boost/xpressive/detail/dynamic/matchable.hpp:21,
                  from ../boost/xpressive/detail/core/access.hpp:18,
                  from ../boost/xpressive/detail/core/state.hpp:18,
                  from ../boost/xpressive/regex_algorithms.hpp:21,
                  from ../libs/xpressive/test/test_regex_algorithms.cpp:8:
../boost/detail/atomic_count_gcc.hpp:20:28: error: bits/atomicity.h: No
such file or directory

This could be that the test machine is misconfigured, or that
atomic_count.hpp needs a patch for this version of GCC.

The other problem is:
../boost/xpressive/detail/core/state.hpp:95: error: declaration of
'typedef struct boost::xpressive::detail::match_context<BidiIter>
../boost/xpressive/detail/core/state.hpp:33: error: changes meaning of
'match_context' from 'struct

The code it's complaining about looks like:

template<typename BidiIter>
struct match_state
   : noncopyable
     typedef BidiIter iterator;
     typedef core_access<BidiIter> access;
     typedef match_context<BidiIter> match_context;

It seems this version of GCC doesn't like my typedef'ing of
match_context<It> to match_context. I think this is a compiler bug.

Where should I report this bug?

Eric Niebler
Boost Consulting

Boost list run by bdawes at, gregod at, cpdaniel at, john at