Boost logo

Boost :

From: Douglas Gregor (doug.gregor_at_[hidden])
Date: 2006-02-27 21:46:34


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





Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk