[GCC-XML] GCCXML chokes on <complex>

Brad King brad.king at kitware.com
Fri Jun 4 08:53:43 EDT 2010


Steve M. Robbins wrote:
> Thanks.  So I had another look and found I can disable
> all use of __gnu_cxx_ldbl128 with this simple change:
> 
> --- /usr/include/c++/4.4/alpha-linux-gnu/bits/c++config.h       2010-05-27 23:42:34.000000000 +0000
> +++ gccxml-0.9/GCC/4.4/bits/c++config.h 2010-06-04 07:48:02.000000000 +0000
> @@ -205,7 +205,7 @@
>  
>  // XXX GLIBCXX_ABI Deprecated
>  // Define if compatibility should be provided for -mlong-double-64
> -#define _GLIBCXX_LONG_DOUBLE_COMPAT 1
> +#undef _GLIBCXX_LONG_DOUBLE_COMPAT
> 
> 
> With this change, "gccxml complex.cc" compiles.

Nice.  So now it works without the other changes, right?
There is one possible problem.  See below.

> I'm going to try uploading this change to Debian, but I'm nervous.
> Gcc (or maybe it's just Debian?) seems to tweak this file differently
> for different architectures.  For example, x86_64 already has the
> #undef _GLIBCXX_LONG_DOUBLE_COMPAT.  I haven't surveyed the other 8
> architectures to see how they vary.

Each arch probably has slightly different requirements for
applications.

> In your experience, is it safe to use a single modified c++config.h in
> gccxml?

We have been able to get away so far by providing slightly-hacked
versions of problematic headers.  The only concern that comes to
mind right now with changing c++config.h is that it might end up
providing a slightly different API through gccxml than through
GCC.  It probably won't be trouble in practice though.

Please send me the old and new versions of the file, and tell me
where you put the new one in the support directory.

Thanks,
-Brad



More information about the gccxml mailing list