[bind] bind_visit_test failure on GCC 4.1.0 and HP/CXX

The test fails with the following message: bind_visit_test.cpp(61): test 'vis.hash == 34' failed in function 'int main()' It has been failing on HP/CXX only for quite some time, but now I noted it also fails on GCC 4.1.0 Linux and Tru64. Is this an issue with the test? Markus

Markus Schöpflin wrote:
The test has to result in one of the following sequences: vis( f ); vis( 3 ); vis( _1 ); vis( 4 ); or vis( f ); vis( 3 ); vis( 4 ); so vis.hash needs to be 34 afterwards. If it isn't, the visitor isn't being called, and boost::signal automatic disconnect will probably not work.

Markus Schöpflin wrote:
IOW, you're 100% sure that both compilers somehow get this wrong when the test fails.
Can you try this modification (also in CVS HEAD) that would tell us more about what's going on: --- bind_visit_test.cpp 28 Feb 2006 21:36:42 -0000 1.1 +++ bind_visit_test.cpp 21 Apr 2006 11:51:50 -0000 @@ -22,6 +22,7 @@ #endif #include <iostream> +#include <typeinfo> #if defined(BOOST_MSVC) && (BOOST_MSVC < 1300) # pragma warning(pop) @@ -37,12 +38,14 @@ { } - template<typename T> void operator()( T const & /*t*/ ) + template<typename T> void operator()( T const & t ) { + std::cout << "visitor::operator()( T ): " << typeid( t ).name() << std::endl; } void operator()( int const & t ) { + std::cout << "visitor::operator()( int ): " << t << std::endl; hash = hash * 10 + t; } };

Peter Dimov wrote:
Can you try this modification (also in CVS HEAD) that would tell us more about what's going on:
Here are the results for gcc 4.1.0 on Linux and Tru64: visitor::operator()( T ): PFiiiiE visitor::operator()( T ): N5boost3_bi5valueIiEE visitor::operator()( T ): N5boost3_bi5valueIiEE bind_visit_test.cpp(64): test 'vis.hash == 34' failed in function 'int main()' 1 error detected. And here is the result for cxx on Tru64: visitor::operator()( T ): int (*)(int, int, int) visitor::operator()( T ): boost::_bi::value<int> visitor::operator()( T ): boost::_bi::value<int> bind_visit_test.cpp(64): test 'vis.hash == 34' failed in function '(unknown)' 1 error detected. HTH, Markus

Peter Dimov wrote:
Why does that bug get detected only on 64bit platforms? The bind tests pass for gcc 4.1.0 an Linux-x86. Shouldn't a two-phase lookup problem manifest itself on all platforms supported by gcc 4.1.0? Regards, m Send instant messages to your online friends http://au.messenger.yahoo.com

Martin Wille wrote:
I see the same failure in http://engineering.meta-comm.com/boost-regression/CVS-HEAD/developer/output/...

Peter Dimov wrote:
hmm, in the RC, I see the failures only in x86_64. Perhaps, I confused the errors. Regards, m Send instant messages to your online friends http://au.messenger.yahoo.com

From tests results on metacomm web site, it seems to me, that some platforms are using Boost.Build v1 while others are using v2.
For being certified as a supported compiler in 1.34 release, is it a requirement to use Boost.Build v2? Thanks, Boris Gubenko

Thomas Witt ha escrito:
Hello Thomas, regarding the release procedure, is there any tentative scheduling, or are we stuck due to SF CVS outage or any other external factor? Thank you, Joaquín M López Muñoz Telefónica, Investigación y Desarrollo

Joaquín Mª López Muñoz wrote:
I'd also like to know what the release schedule is. I need to do another bjam release for BBv2 to work out of the box when the release happens before then, and I want to know if I need to do it in the next 2 days before a vacation. Or if I can do it after the vacation a week and a half later :-) -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim - grafikrobot/yahoo

Rene Rivera <grafik.list@redshift-software.com> writes:
I'm guessing we'll need that week and a half to finish the documentation updates for the Parameter library and Boost.Python. :( -- Dave Abrahams Boost Consulting www.boost-consulting.com
participants (8)
-
Boris Gubenko
-
David Abrahams
-
Joaquín Mª López Muñoz
-
Markus Schöpflin
-
Martin Wille
-
Peter Dimov
-
Rene Rivera
-
Thomas Witt