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 (http://tinyurl.com/2uvxrz), 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/utility/counted_base.hpp:12,
                  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::match_state<BidiIter>::match_context'
../boost/xpressive/detail/core/state.hpp:33: error: changes meaning of
'match_context' from 'struct
boost::xpressive::detail::match_context<BidiIter>'

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
www.boost-consulting.com

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