Peter Dimov <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Fernando Cacciola wrote: > > David Abrahams <[EMAIL PROTECTED]> wrote in message > > news:[EMAIL PROTECTED] > >> Which compilers are failing and where are the regression report > >> pages? > >> > > Sorry for the delay, I was leaving the office when you posted this.... > > > > Most problems related to swap ocurr with GCC>3.3 and VC==6.0 > > It appears that this problem ocurrs both with 1.30.0 and the current > > rc 1.30.2 > > What's so surprising here? Everything fails exactly as it should. > 1.30 has > > #ifndef __GNUC__ > using std::swap; > #endif > > and hence should fail on every non-broken GCC. > > > HEAD has > > #ifndef BOOST_NO_STDC_NAMESPACE > using std::swap; > #endif > > instead and hence should fail on every BOOST_NO_STDC_NAMESPACE compiler that > isn't a broken GCC. > There's something I don't understand.
1.30.0, as you said, doesn't has the using declaration at function scope, BUT is has it at namespace scope. See revision 1.9 or prior. The idea was that borken GCC don't like it at function scope but do at namespace scope. Recently, Jens Maurer changed the guard at function scope from: #ifndef __GNUC__ to #ifndef BOOST_NO_STDC_NAMESPACE and honestly, I didn't looked much at it as I should. BOOST_NO_STDC_NAMESPACE is documented to relate to C names, but swap is a C++ name so I don't think such macro should be used here. I don't understand the problem with the original code (as of revision 1.19), and I don't understand why 1.30.0 fails. I do understand why HEAD fails, by my 'fix' would be to revert Jens fix, but if I were right, 1.30.0 wouldn't fail as it does. Fernando Cacciola _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost