[GCC-XML] GCCXML chokes on <complex>

Steve M. Robbins steve at sumost.ca
Fri Jun 4 04:00:13 EDT 2010


On Thu, Jun 03, 2010 at 09:02:04AM -0400, Brad King wrote:

> I think that's because you removed the inline namespace in the
> other hack.  The __gnu_cxx_ldbl128 namespace is supposed to be
> an "inline" namespace meaning that its members are visible in
> the containing namespace.  Now that the inline keyword has been
> removed (and isn't supported by gccxml's parser anyway), the
> symbols are not visible in std::.  You need to remove all uses
> of this namespace, not just the first one.

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.

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.

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

Thanks,
-Steve
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: Digital signature
URL: <http://public.kitware.com/pipermail/gccxml/attachments/20100604/f9c6314a/attachment.sig>


More information about the gccxml mailing list