/* { dg-do compile } */ | |
/* { dg-options "-O2 -fdump-tree-fre1" } */ | |
int a; | |
int *b = &a; | |
int **c = &b; | |
int d; | |
void bar25_(void); | |
void foo(void); | |
int main() { | |
int __attribute__((aligned(sizeof(int)))) e[][1] = {0, 0, 0, 0, 0, 1}; | |
for (;;) { | |
bar25_(); | |
/* We should optimistically treat a == 0 because of the bounds of | |
the object. */ | |
if (e[5][a]) | |
break; | |
e[a][0] = 0; | |
foo(); | |
} | |
*c = &d; | |
} | |
/* { dg-final { scan-tree-dump-not "foo" "fre1" { xfail *-*-* } } } */ |