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)9 foo (void)
10 {
11   char *p = __builtin_alloca (i);
12   bar (p);
13 }
14 
15 int
baz(void)16 baz (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