1 /* { dg-do run } */
2 /* { dg-options "-O3 -std=gnu99" } */
3 
4 int a, b, c, d, e, h;
5 
6 int
fn1(int p1)7 fn1 (int p1)
8 {
9   {
10     int g[2];
11     for (int i = 0; i < 1; i++)
12       g[i] = 0;
13     if (g[0] < c)
14       {
15 	a = (unsigned) (1 ^ p1) % 2;
16 	return 0;
17       }
18   }
19   return 0;
20 }
21 
22 void
fn2()23 fn2 ()
24 {
25   for (h = 0; h < 1; h++)
26     {
27       for (int j = 0; j < 2; j++)
28 	{
29 	  for (b = 1; b; b = 0)
30 	    a = 1;
31 	  for (; b < 1; b++)
32 	    ;
33 	  if (e)
34 	    continue;
35 	  a = 2;
36 	}
37       fn1 (h);
38       short k = -16;
39       d = k > a;
40     }
41 }
42 
43 int
main()44 main ()
45 {
46   fn2 ();
47 
48   if (a != 2)
49     __builtin_abort ();
50 
51   return 0;
52 }
53 
54