Hi, the following yields an ICE with 4.0.1, 4.0.2 and a recent 4.1 branch (but in a different location) if compiled at -O3. Compiles at -O2 and at -O3 with gcc 3.3.4:
--------------------------------------- static float rgam; extern void *jmp(void *); void drotmg(float d1) { void *labels[] = { &&L170, &&L180, 0 }; for(;;) { goto *jmp(labels); if (d1 <= rgam) goto L170; L170: if (d1 <= rgam) goto L170; } L180: goto L170; } --------------------------------------- -- Summary: [Regression 4.0/4.1] ICE : in compensate_edge, at reg- stack.c:2795 Product: gcc Version: 4.0.1 Status: UNCONFIRMED Severity: major Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jv244 at cam dot ac dot uk GCC host triplet: Linux-i686 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25218