extern void baz (float); inline bool bar (float x) { union { float f; int i; } u; u.f = x; return (u.i & 1); }
void foo (float *x) { for (int i = 0; i < 10; i++) { float f = x[i]; if (!bar (f)) baz (f); } } ICEs in trunc_int_for_mode at -O2/-O3. -- Summary: [4.4/4.5 Regression] ICE in trunc_int_for_mode Product: gcc Version: 4.4.1 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: major Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jakub at gcc dot gnu dot org GCC target triplet: x86_64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41680