"Ralf W. Grosse-Kunstleve" <[EMAIL PROTECTED]> writes: > There are gcc 2.96 (Redhat 7.3) compilation error for > boost/libs/python/test/opaque.cpp: > > http://cci.lbl.gov/~rwgk/tmp/rc_1_30_0_opaque_fail.txt > > More recent gcc's don't seems to suffer from this problem. > I am not sure this is important enough to delay the release any further. > David? > > Ralf
Hmm, looking at: # define BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID(Pointee) \ namespace boost { namespace python { \ template<> \ inline type_info type_id(boost::type<Pointee>*) { \ return type_info (typeid (Pointee *)); \ } \ template<> \ inline type_info type_id( \ boost::type<const volatile Pointee &>*) { \ return type_info (typeid (Pointee *)); \ } \ }} it seems to me that these aren't actually legal specializations (though I've never specialized functions before so I could be wrong). Shouldn't that be: template <> inline type_info type_id<Pointee>(boost::type<Pointee>*) { return type_info(typeid(Pointee*)); } template <> inline type_info type_id<const volatile Pointee&>( boost::type<const volatile Pointee&>*) { return type_info(typeid(Pointee*)); } ?? In the end, I think I'd much rather see this done with traits that are checked inside a single type_id<T> implementation rather than doing it like this, but I think that would be too-radical a change. It would be nice if Gottfried could try to get something working for GCC 2.96 before we ship, since RedHat kindly put it on so many systems. Gottfried? -- Dave Abrahams Boost Consulting www.boost-consulting.com _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost