
David Abrahams wrote:
"Giovanni Bajo" <giovannibajo@libero.it> writes:
Neal D. Becker wrote:
gcc-3.4 doesn't seem to like boost iterator adaptor stuff, in particular. Also lambda.
Weird, I think I could compile most of those libraries without big problems. Any single test which reliably fails with 3.4.0?
Many errors are of this nature: src/c_to_r.hpp:83: error: there are no arguments to `base_reference' that depend on a template parameter, so a declaration of `base_reference' must be available
GCC 3.4.0 implements two-stage name lookup, which is not found in previous versions of GCC or MSVC 71 (that happens to be de-fact standard for Boost development). One of the net results is that names in dependent bases are not inspected during unqualified name lookup in templates. I suggest you review http://gcc.gnu.org/gcc-3.4/changes.html for more infos. In my experience, libraries which were previously compiled with an EDG compiler (Comeau / Intel) have almost no problems, while libraries developed only with MSVC, CW, or GCC need to be fixed.
We still do test all of Boost with many compilers implementing 2-phase lookup, including metrowerks, intel, and comeau. I'm surprised that you report it's turning up any Boost bugs, especially in iterator adaptors.
It looks like the iterator adaptors problem was my fault. Sorry for false alarm. Lambda does need to be fixed. I guess it is in cvs now. Are there plans to for a bug fix release (1.31.1)?