Boost logo

Boost :

From: John H. Spicer (jhs_at_[hidden])
Date: 2002-08-15 18:08:37


I was trying to run the Boost tests with EDG 3.0.1 (a minor update to
our 3.0 version) and ran into a number of access errors (in strict mode only).

This appears to be related to a bug we fixed in 3.0.1 where we failed to
detect certain access and ambiguity errors on names in ctor-initializers.

The errors appear to be correct (as far as I can tell). They are cases
where a nested class is accessing a member of the enclosing class.
I did not look at all of the cases though. The standard committee
committee has decided to relax the access rules to allow cases like
these (which is why we accept them in default mode), and the issue is in
DR status (meaning it has been approved by the core working group) but is
not part of a TC yet (i.e., not officially part of the standard yet).

We are investigating whether or not we should employ the relaxed rules
even in strict mode. In the mean time, I wanted to alert the Boost
community to the fact that this situation exists when using EDG 3.0.1.
This only affects people who use strict mode.

The errors occur when building the tests regex_test.cpp and wregex_test.cpp.
Below are examples of the two problematic lines:

"../boost/regex/detail/regex_stack.hpp", line 68: error: type
          "boost::re_detail::jstack<T, Allocator>::allocator_type [with
          T=size_t, Allocator=boost::detail::allocator<char>]" is inaccessible
        data(const Allocator& a) : allocator_type(a){}
                                   ^
"../boost/regex.hpp", line 877: error: type
          "boost::re_detail::match_results_base<iterator, Allocator>::c_alloc
          [with iterator=const char *,
          Allocator=boost::detail::allocator<char>]" is inaccessible
        c_reference(const Allocator& a) : c_alloc(a) { }
                                          ^
If there are any questions about this, please email me directly as I am
not subscribed to this mailing list.

John Spicer
Edison Design Group


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