http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51042
--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-11-09 13:23:00 UTC --- Even shorter testcase: int a, b; void foo (int x) { int e[2]; int d; while (x) { for (d = 0; d <= 1; d = 1) if (e[a]) break; for (b = 0; b <= 0; b = 1) { e[a] = a; if (a) break; } } }