https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69161
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to ktkachov from comment #7) You want to turn that back to at least valid C99 if that still reproduces the issue: > char a; > b, c, d, e; > fn1() { > int f = 0; > for (; f <= 4; f++) { > d = 0; > for (; d < 20; d++) { > long g = &c; > b &= (0 != g) > e; > } > e &= a; > } > } char a; int b, c, d, e; void foo (void) { int f; for (f = 0; f <= 4; f++) { for (d = 0; d < 20; d++) { long g = &c; // would it reproduce even with int *g = &c; ? b &= (0 != g) > e; } e &= a; } } }