1 /* { dg-do run } */ 2 3 int a, c, d, *h; 4 unsigned b; 5 fn1()6int *fn1 () 7 { 8 int *f[3], g = 0; 9 for (; g < 3; g++) 10 f[g] = &a; 11 if (--b > a) 12 { 13 if (a > b) 14 d++; 15 return f[0]; 16 } 17 } 18 fn2()19void fn2 () 20 { 21 for (; c >= 0; --c) 22 { 23 int j[] = { 0, 0, 0, 0, 0 }; 24 int *k = fn1 (); 25 if (!k) 26 __builtin_abort (); 27 h = &j[4]; 28 } 29 } 30 main()31int main () 32 { 33 fn2 (); 34 if (d != 0) 35 __builtin_abort (); 36 return 0; 37 } 38