Compiling the following testcase give you a segfault. You might get an ICE if you enable checking.
void foo (int a) { int b; int d; if (a == 2) b = 3; else b = 5; d = 11; for (;;) { if (d == 5) break; d = b; } } -- Summary: Segfault Product: gcc Version: 4.2.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kazu at gcc dot gnu dot org GCC target triplet: x86_64-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25501