------- Additional Comments From tkoenig at gcc dot gnu dot org 2005-07-07 09:14 ------- This appears to be fixed now in mainline:
$ cat complex-parts.c #include <math.h> #include <complex.h> int main() { float cr,ci; float complex c; foo(&cr,&ci); c = cr+I*ci; return crealf(c)+cimagf(c)<0; } $ gcc -S -O3 -fdump-tree-optimized complex-parts.c $ tail -10 complex-parts.c.t82.optimized <unnamed type> D.2371; float cr.0; <bb 0>: foo (&cr, &ci); return cr + ci < 0.0; } $ gcc -v Using built-in specs. Target: ia64-unknown-linux-gnu Configured with: ../gcc-4.1-20050702/configure --prefix=/home/zfkts --enable- languages=c,f95 Thread model: posix gcc version 4.1.0 20050702 (experimental) -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Known to work| |4.1.0 Resolution| |FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20434