
Peter Dimov wrote:
Markus Schöpflin wrote:
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
It does, thanks. This is a bug in boost::bind that is exposed by two-phase lookup. I fixed it in CVS HEAD. Not sure yet what to do with the 1.34 branch as changes in boost::bind have a potential to break other things.
Great, this seems to have fixed a long standing problem with the signals library as well which previously has been rated as a compiler bug. :-) And thanks for the merge. Markus