typedef struct { int r, i; } F; F foo (float _Complex x) { return *(F *) &x; }
F bar (float _Complex x) { F f = foo (x); return f; } ICEs at -O2 -fno-strict-aliasing -m32 on x86_64-linux and i686-linux. On the trunk this doesn't ICE likely due to expand on SSA. -- Summary: [4.4 Regression] ICE in expand_expr_real_1 Product: gcc Version: 4.4.1 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jakub at gcc dot gnu dot org GCC target triplet: i686-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41123