|
Boost : |
From: Doug Gregor (doug.gregor_at_[hidden])
Date: 2006-09-20 09:07:38
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 )
{
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk