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;
}
}
}