/* { dg-do run } */ | |
int a, c, d, *h; | |
unsigned b; | |
int *fn1 () | |
{ | |
int *f[3], g = 0; | |
for (; g < 3; g++) | |
f[g] = &a; | |
if (--b > a) | |
{ | |
if (a > b) | |
d++; | |
return f[0]; | |
} | |
} | |
void fn2 () | |
{ | |
for (; c >= 0; --c) | |
{ | |
int j[] = { 0, 0, 0, 0, 0 }; | |
int *k = fn1 (); | |
if (!k) | |
__builtin_abort (); | |
h = &j[4]; | |
} | |
} | |
int main () | |
{ | |
fn2 (); | |
if (d != 0) | |
__builtin_abort (); | |
return 0; | |
} |