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

Niall Douglas s_sourceforge at nedprod.com
Mon May 14 13:33:27 CEST 2012


On 14 May 2012 at 12:53, Jonas Wielicki wrote:
> > Generally speaking GCC bugs fix themselves over 
> > time, so you can revert temporarily to an older GCC. Bugs in GCC are 
> > common enough that if my code fails, I first think it's GCC's fault 
> > :)
> Hm. GCC updates are rather rare though I think?

Not at all - GCC has a very rapid release cycle compared to most 
other C++ compilers. Most compilers are only released every two or 
even four years.

> Also its kinda
> inconvienient to use a non-distribution gcc version.

Most distros bundle multiple versions of gcc due to this exact 
problem with frequent bugs. Debian, at least, usually has the 
previous version and for many years also had the latest from the 3.x 
and indeed 2.x series.

Simply have your build chain wire in a non-default compiler by 
excluding from a list of known broken gcc's. It's what my build 
system does.

> Do you recommend to
> submit a bug report to the gcc folks on that one?

I personally do. But getting a bug accepted by gcc isn't easy. You 
may need to be prepared for them to be a bit caustic to you.

A very small testcase is easiest. They don't like testcases bringing 
in external libraries such as boost one bit. So be prepared to be 
aggressive if needs be.

> > Also, try Clang. Clang seems to generate better 
> > debug info for templates anyway.
> I'll have a look, thanks.

Personally speaking now BSD has switched to Clang I think GCC is 
living on borrowed time. Clang can already build 90%+ of all Debian, 
and it won't be long before it's 100%. At that point there is no 
longer any good reason to continue using GCC except for the languages 
LLVM doesn't support.

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