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
signature.asc
Description: Digital signature
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.gccxml.org/mailman/listinfo/gccxml