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()11obscured_one () 12 { 13 return 1; 14 } 15 16 static void f(int c,int l)17f (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[])34main (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