[Function][Bind] Strange problem with g++ 4.5

Hi,
I've got a very strange problem with Boost.Function used in conjunction
with Boost.Bind with g++ 4.5.0.
Here is the minimal test case:
----------------gtest.cc---------------------------------
#include

Maxime van Noppen wrote:
Hi,
I've got a very strange problem with Boost.Function used in conjunction with Boost.Bind with g++ 4.5.0.
Here is the minimal test case: ...
I think that this sounds very much like an optimizer bug and the way to understand what's going on is to submit a bug report to the GCC bugzilla. It could, in principle, be an aliasing violation issue in boost::function, but I doubt it. g++ since 4.4 is getting more aggressive with its aliasing assumptions when optimizing.

On 05/15/2010 09:18 PM, Peter Dimov wrote:
I think that this sounds very much like an optimizer bug and the way to understand what's going on is to submit a bug report to the GCC bugzilla. It could, in principle, be an aliasing violation issue in boost::function, but I doubt it. g++ since 4.4 is getting more aggressive with its aliasing assumptions when optimizing.
Ouch. I'll report to GCC then. -- Maxime

On 05/17/2010 10:05 AM, Maxime van Noppen wrote:
On 05/15/2010 09:18 PM, Peter Dimov wrote:
I think that this sounds very much like an optimizer bug and the way to understand what's going on is to submit a bug report to the GCC bugzilla. It could, in principle, be an aliasing violation issue in boost::function, but I doubt it. g++ since 4.4 is getting more aggressive with its aliasing assumptions when optimizing.
Ouch. I'll report to GCC then.

Maxime van Noppen:
On 05/17/2010 10:05 AM, Maxime van Noppen wrote:
On 05/15/2010 09:18 PM, Peter Dimov wrote:
I think that this sounds very much like an optimizer bug and the way to understand what's going on is to submit a bug report to the GCC bugzilla. It could, in principle, be an aliasing violation issue in boost::function, but I doubt it. g++ since 4.4 is getting more aggressive with its aliasing assumptions when optimizing.
Ouch. I'll report to GCC then.
Thanks. I'm trying to retrieve the password for my Bugzilla account - with no luck so far. You may want to relay to Richard that after stepping through the code, it turns out that function_buffer is indeed assigned directly, due to the fact that __has_trivial_copy and __has_trivial_destructor report true for the stored function object.
participants (2)
-
Maxime van Noppen
-
Peter Dimov