1 /* { dg-require-effective-target alloca } */ 2 int b; foo(void)3int foo (void) 4 { 5 int x[b]; 6 int bar (int t[b]) 7 { 8 int i; 9 for (i = 0; i < b; i++) 10 t[i] = i + (i > 0 ? t[i-1] : 0); 11 return t[b-1]; 12 } 13 return bar (x); 14 } 15 main()16int main () 17 { 18 b = 6; 19 if (foo () != 15) 20 abort (); 21 exit (0); 22 } 23