http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55833
Bug #: 55833 Summary: ICE in verify_loop_structure, at cfgloop.c:1582 (BB should be marked irreducible !) Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: antoine.balest...@gmail.com Using GCC 4.8.0 as of 20121231 : $ cat bb.c int a, b, c; void foo() { unsigned d, l, *p, k = 1; if(bar()) { label: if((a = a <= 0)) { if(c) d = b; if (b || d ? l : k ? : 0) a = d = 0; goto label; } } while(*p++) goto label; } $ xgcc -w -O3 bb.c bb.c: In function ‘foo’: bb.c:24:1: error: edge from 27 to 29 should be marked irreducible } ^ bb.c:24:1: error: basic block 29 should be marked irreducible bb.c:24:1: error: edge from 29 to 7 should be marked irreducible bb.c:24:1: internal compiler error: in verify_loop_structure, at cfgloop.c:1582 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions.