1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -fdump-tree-einline" } */ 3 /* { dg-require-effective-target alloca } */ 4 5 void bar (char *); 6 int i; 7 8 static void foo(void)9foo (void) 10 { 11 char *p = __builtin_alloca (i); 12 bar (p); 13 } 14 15 int baz(void)16baz (void) 17 { 18 foo (); /* foo() should not be inlined here because it calls alloca */ 19 return 6; 20 } 21 22 /* { dg-final { scan-tree-dump-times "Inlining foo into baz" 0 "einline"} } */ 23