[Bind][Signals] visit_each workaround for GCC 3.3.x

GCC 3.3.x seems to have some ADL-related trouble with visit_each that is causing some failures in Signals. Bind already has workarounds for this problem; we need only enable them for this version of GCC. I've committed the patch below to RC_1_34_0 and HEAD. Cheers, Doug Index: bind.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/bind.hpp,v retrieving revision 1.55.2.1 diff -u -p -r1.55.2.1 bind.hpp --- bind.hpp 27 Apr 2006 16:20:59 -0000 1.55.2.1 +++ bind.hpp 20 Sep 2006 13:03:18 -0000 @@ -1161,7 +1161,8 @@ BOOST_BIND_OPERATOR( >=, greater_equal ) // visit_each, ADL -#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ ) +#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ )\ + && !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3) template<class V, class T> void visit_each( V & v, value<T> const & t, int ) { @@ -1180,7 +1181,8 @@ template<class V, class R, class F, clas // visit_each, no ADL -#if defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) || defined( __BORLANDC__ ) +#if defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) || defined( __BORLANDC__ ) \ + || (defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3) template<class V, class T> void visit_each( V & v, _bi::value<T> const & t, int ) {
participants (1)
-
Doug Gregor