[C++-sig] boost::python with virtual inheritance and g++ c++0x/11 (testcase attached)
Niall Douglas
s_sourceforge at nedprod.com
Mon May 14 16:05:09 CEST 2012
On 14 May 2012 at 15:11, Jonas Wielicki wrote:
> On 05/14/2012 01:33 PM, Niall Douglas wrote:
> > 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.
> Well, Fedora doesn't. They only ship a 3.4 series compiler as an
> alternative (maybe to build qt3 apps or something?). But actually I like
> -std=C++0x, you know.
Haven't touched Fedora in a decade I'm afraid. I should clarify my
earlier statement: Debian doesn't necessarily install by default
multiple versions of compilers, rather they're in the repos available
as package dependencies. Surely Fedora is the same?
> > 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.
> Hm. How did you implement that? I mean, does the build chain build its
> own gcc if neccessary and install it to a well-defined path in the
> user's home directory?
Ah, my build system has been scons for years now. As that's really
python, it's trivial to scan /usr/bin for anything which can compile
and invoke each with --version or take a guess from their filename.
My build system simply warns with big letters if the only compiler
available is known to be broken and suggests you should get a
different one, but one can force proceed if you wish.
> > 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.
> Hm. I'm afraid that this bug is not easy to separate in a small
> testcase, because if it was evident, the fedora folks would've (a) filed
> a bug at the gcc or (b) put in a patch themselves but definetly (c) not
> shipped that compiler.
Indeed. My experience has been trying when reporting complex
metaprogramming bugs in GCC. They say things like "we regularly test
against Boost and the compiler passes all its regression tests,
therefore the bug can't be in our compiler". Understandable, but
frustrating.
> >>> Also, try Clang. Clang seems to generate better
> >>> debug info for templates anyway.
> >> I'll have a look, thanks.
> Clang doesn't compile boost python 1.49 at all. Sadly.
I am deeply surprised due to
http://blog.llvm.org/2010/05/clang-builds-boost.html.
http://www.boost.org/development/tests/release/developer/python.html
reports Clang to be no worse than MSVC, and much better than GCC 4.2.
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