Hi, While investigating a build failure (ITK on Debian [1]), I discovered that fftw3 now uses the GCC extension __float128 for quad precision arithmetic. In a nutshell, the following code builds OK using Debian's GCC 4.6.2-9 on both my amd64 machine and a 32-bit chroot on the same machine. Gccxml, however, differs: it parses OK on 64-bits, but complains when used with the 32-bit compiler.
int main(int ac, char* av[]) { /* Modeled on code in fftw3.h, from about line 370 */ /* __float128 (quad precision) is a gcc extension on i386, x86_64, and ia64 for gcc >= 4.6 (compiled in FFTW with --enable-quad-precision) */ #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) \ && (defined(__i386__) || defined(__x86_64__) || defined(__ia64__)) typedef __float128 quadcomplex[2]; #endif return 0; } The 32-bit gccxml invocation produces this output: steve@riemann{Testing}gccxml float128.c float128.c: In function 'int main(int, char**)': float128.c:13: error: '__float128' does not name a type Is there an easy solution to this? I can make gccxml accept this input by doing: steve@riemann{Testing}gccxml -D__float128=double float128.c But I'm afraid this will mess up the API of fftw output by gccxml. Ideas? Thanks, -Steve [1] https://buildd.debian.org/status/fetch.php?pkg=wrapitk-python&arch=i386&ver=3.20.1.2&stamp=1323582679
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