
On Feb 20, 2006, at 12:22 PM, Lars Gullik Bjønnes wrote:
We se some strange problems with GCC 4.1 (the prerelease/release candidate) with use of boost::signal and boost::bind. Have anyone run the regressions tests for this GCC version?
g++ (GCC) 4.1.0 20060219 (prerelease
We get errors of this form: [snip] <gcc41-1.diff>
Any opinions on this?
Hmmm, I'm surprised that patch fixes the problem.
Is it something strange hidden in our code, boost or a real regression in gcc?
There is definitely a bug in Boost.CVS. However, I didn't think that GCC 4.1 should be susceptible to the bug; I remember fixing this bug for GCC 4.0.1, and it works there. So we might actually have two bugs; I really don't know The Boost bug is an interaction between the storage optimizations that went in to Bind (to make the storage optimizations of Function actually useful) and the visit_each mechanism. I've taken a stab at a fix (to Bind) that seems to solve the problem for me on GCC 3.3; it should solve the problems on other compilers as well. Attached is a patch to bind and a test case that illustrates the problem. Peter, could you take a look? Doug