------- Comment #1 from rguenth at gcc dot gnu dot org 2009-11-01 14:05 ------- Confirmed. The IL difference doesn't hint at a reason.
_Complex float: foo () { complex float f; complex float D.1250; float D.1249; <bb 2>: [t2.c : 5] D.1249_2 = REALPART_EXPR <f_1(D)>; [t2.c : 5] f_3 = COMPLEX_EXPR <D.1249_2, 0.0>; [t2.c : 6] D.1250_4 = f_3; return D.1250_4; float: foo () { complex float f; float D.1250; float D.1249; <bb 2>: [t2.c : 5] D.1249_2 = REALPART_EXPR <f_1(D)>; [t2.c : 5] f_3 = COMPLEX_EXPR <D.1249_2, 0.0>; [t2.c : 6] D.1250_4 = REALPART_EXPR <f_3>; return D.1250_4; -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Component|c |middle-end Ever Confirmed|0 |1 Keywords| |diagnostic Last reconfirmed|0000-00-00 00:00:00 |2009-11-01 14:05:49 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41895