1 /* { dg-do run } */
2 /* { dg-options "-O3 -fno-early-inlining"  } */
3 
4 int array[128];
5 
6 volatile int v = 0;
7 volatile int blah = 0;
8 volatile int counter = 0;
9 
10 int __attribute__((noipa))
obscured_one()11 obscured_one ()
12 {
13   return 1;
14 }
15 
16 static void
f(int c,int l)17 f (int c, int l)
18 {
19   int i;
20   for (i = 0; i < c; i++)
21     array[i] = 455;
22 
23   counter++;
24   if (counter > 6)
25     __builtin_abort ();
26 
27   v = l;
28   if (l > 0)
29     f (c, l - 1);
30   blah = l;
31 }
32 
33 int
main(int argc,char * argv[])34 main (int argc, char *argv[])
35 {
36   int i;
37   for (i = 0; i < 100; i++)
38     {
39       counter = 0;
40       f (0, 5);
41       if (obscured_one ())
42 	break;
43     }
44 
45   return 0;
46 }
47