http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56181
Bug #: 56181 Summary: ICE in verify_loop_structure, at cfgloop.c:1581 with -ftracer Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: antoine.balest...@gmail.com Using GCC 4.8.0 as of 20130202 : $ cat loop.c int a, b; void f(void) { if(a++) { for(a = 0; a < 1;) { for(b = 0; b < 1; b++) { while(a++ < 0); lbl: ; } if(a) goto lbl; } goto lbl; } } $ xgcc -w -O2 -ftracer loop.c loop.c: In function âfâ: loop.c:3:6: error: size of loop 3 should be 0, not 3 void f(void) ^ loop.c:3:6: error: bb 8 does not belong to loop 3 loop.c:3:6: error: bb 10 does not belong to loop 3 loop.c:3:6: error: bb 9 does not belong to loop 3 loop.c:3:6: error: bb 8 has father loop 2, should be loop 3 loop.c:3:6: error: bb 10 has father loop 2, should be loop 3 loop.c:3:6: error: bb 9 has father loop 2, should be loop 3 loop.c:3:6: error: loop 3âs header does not belong directly to it loop.c:3:6: internal compiler error: in verify_loop_structure, at cfgloop.c:1581 0x5f8564 verify_loop_structure() ../../srcdir/gcc/cfgloop.c:1581 0x8defcd tracer ../../srcdir/gcc/tracer.c:385 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. It looks like PR55270, and after bisection, it appears that it started with http://gcc.gnu.org/viewcvs?view=revision&revision=185913 too.