[C++-sig] boost::python with virtual inheritance and g++ c++0x/11 (testcase attached)

Niall Douglas s_sourceforge at nedprod.com
Mon May 21 17:55:53 CEST 2012


On 19 May 2012 at 12:01, Jonas Wielicki wrote:

> I am working on a bugreport for the gcc folks right now, and during that
> I came across the release notes for gcc 4.7[1] and found the following.

That's a huge amount of new compliance with C++11. No wonder there 
are bugs.

> However, it seems that the actual problematic code is located in the
> libboost itself. I am wondering how to report that properly. The gcc
> folks want the -save-temps flag, but I really do not look through the
> boost build system enough to know which file is to be built with the
> correct option to get the result the gcc folks want. Any pointers here?
> 
> Its somewhere about inheritance.cpp:405.

1. Does the bug occur in non-optimised as well as optimised builds?

2. Does the bug occur when C++11 is turned off?

3. What are your -fvisibility settings?

4. Does the bug occur when inlining is force switched off?

5. Are you using precompiled headers? If so, does the bug occur when 
you turn those off?

6. Can you spot where in the assembly it's making a pointer 
dereferencing mistake?

I would be surprised if inheritance.cpp actually contains the 
offending code. More likely it's in the template headers, and 
therefore the compiler chooses one of the copies assembled in each 
compiland to go into the final binary. If that's the case, which file 
you choose for save temps is immaterial.

If you're *really* unlucky, the bug is that different assembler is 
being generated in different compilands and the fact you're seeing a 
problem is due to sheer chance because of the stochastic choice the 
linker made :)

Niall

-- 
Technology & Consulting Services - ned Productions Limited.
http://www.nedproductions.biz/. VAT reg: IE 9708311Q.
Work Portfolio: http://careers.stackoverflow.com/nialldouglas/





More information about the Cplusplus-sig mailing list