1 /* { dg-do run } */
2 
3 int a, b = 1, c, e, f, g, k, m, n, o;
4 char d, h, i, j, l;
5 char res[2];
6 
fn2()7 void __attribute__ ((noinline,noclone)) fn2 ()
8 {
9   d = 2;
10 }
11 
fn3()12 void fn3 ()
13 {
14   for (;;)
15     {
16       for (; b; b--)
17 	{
18 	  fn2 ();
19 	  if (e)
20 	    j = 1;
21 	  if (f)
22 	    L1:
23 		k = j | (a & l);
24 	  for (;;)
25 	    {
26 	      __builtin_snprintf (res, 2, "%d\n", d);
27 	      if (d)
28 		break;
29 	      for (; o; o--)
30 		for (; n;)
31 		  for (; m; m++)
32 		    ;
33 	      goto L1;
34 	    }
35 	}
36       g = h;
37       c = i;
38       break;
39     }
40 }
41 
main()42 int main ()
43 {
44   fn3 ();
45   if (res[0] != '2')
46     __builtin_abort ();
47   return 0;
48 }
49