|
Boost : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2006-04-21 09:17:41
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.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk