I reported this bug against a SPARC system at #42753, but as this is a different version of gcc, on a different operating system with a different processor, I thought it wise to create another ticket.
The hardware is a Sun Ultra 27, with a 3.33 GHz Xeon processor. The attached code builds and runs as expected using the Sun Studio 12.1 compiler. drkir...@hawk:~$ /opt/sunstudio12.1/bin/cc -V simple_complex.c cc: Sun C 5.10 SunOS_i386 2009/06/03 acomp: Sun C 5.10 SunOS_i386 2009/06/03 ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1652 drkir...@hawk:~$ ./a.out CYTHON_CCOMPLEX 1 However, it fails with gcc 4.3.4 drkir...@hawk:~$ /usr/local/gcc-4.3.4-GNU-assembler-Sun-linker/bin/gcc -std=c99 -v -save-temps simple_complex.c Using built-in specs. Target: i386-pc-solaris2.11 Configured with: ../gcc-4.3.4/configure --prefix=/usr/local/gcc-4.3.4-GNU-assembler-Sun-linker --with-as=/usr/local/binutils-2.20/bin/as --with-ld=/usr/ccs/bin/ld --with-gmp=/usr/local --with-mpfr=/usr/local Thread model: posix gcc version 4.3.4 (GCC) COLLECT_GCC_OPTIONS='-std=c99' '-v' '-save-temps' '-mtune=generic' /usr/local/gcc-4.3.4-GNU-assembler-Sun-linker/libexec/gcc/i386-pc-solaris2.11/4.3.4/cc1 -E -quiet -v simple_complex.c -mtune=generic -std=c99 -fpch-preprocess -o simple_complex.i ignoring nonexistent directory "/usr/local/gcc-4.3.4-GNU-assembler-Sun-linker/lib/gcc/i386-pc-solaris2.11/4.3.4/../../../../i386-pc-solaris2.11/include" #include "..." search starts here: #include <...> search starts here: /usr/local/include /usr/local/gcc-4.3.4-GNU-assembler-Sun-linker/include /usr/local/gcc-4.3.4-GNU-assembler-Sun-linker/lib/gcc/i386-pc-solaris2.11/4.3.4/include /usr/local/gcc-4.3.4-GNU-assembler-Sun-linker/lib/gcc/i386-pc-solaris2.11/4.3.4/include-fixed /usr/include End of search list. COLLECT_GCC_OPTIONS='-std=c99' '-v' '-save-temps' '-mtune=generic' /usr/local/gcc-4.3.4-GNU-assembler-Sun-linker/libexec/gcc/i386-pc-solaris2.11/4.3.4/cc1 -fpreprocessed simple_complex.i -quiet -dumpbase simple_complex.c -mtune=generic -auxbase simple_complex -std=c99 -version -o simple_complex.s GNU C (GCC) version 4.3.4 (i386-pc-solaris2.11) compiled by GNU C version 4.3.4, GMP version 4.3.1, MPFR version 2.4.1. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: aa8ffffda34c6527631409af75a63ef2 simple_complex.c: In function __pyx_t_double_complex_from_parts: simple_complex.c:20: error: _Complex_I undeclared (first use in this function) simple_complex.c:20: error: (Each undeclared identifier is reported only once simple_complex.c:20: error: for each function it appears in.) -- Summary: Using _Complex_I on Open Solaris fails to build an executable Product: gcc Version: 4.3.4 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: david dot kirkby at onetel dot net GCC build triplet: SunOS hawk 5.11 snv_111b i86pc i386 i86pc GCC host triplet: SunOS hawk 5.11 snv_111b i86pc i386 i86pc GCC target triplet: SunOS hawk 5.11 snv_111b i86pc i386 i86pc http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42755