http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52073
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-31 22:24:16 UTC --- Reduced testcase: int a, b, c, d, e, f; void foo (int x) { e = 1; for (;;) { int g = c; if (x) { if (e) continue; while (a) --f; } else for (b = 5; b; b--) { d = g; g = 0 == d; } if (!g) x = 0; } }