1 /* PR middle-end/94004 - missing -Walloca on calls to alloca due
2 to -Wno-system-headers
3 { dg-do compile }
4 { dg-options "-O2 -Wall -Walloca-larger-than=8 -ftrack-macro-expansion=0" }
5 { dg-require-effective-target alloca } */
6
7 #include "Walloca-larger-than-3.h"
8
9 void sink (void*, ...);
10
11 void call_builtin_alloca (int n)
12 {
13 if (n < 9)
14 n = 9;
15 void *p = __builtin_alloca (n); // { dg-warning "\\\[-Walloca-larger-than" }
16 sink (p, 0);
17 }
18
19 void call_alloca_sys_hdr (int n)
20 {
21 if (n < 9)
22 n = 9;
23 void *p = alloca (n); // { dg-warning "\\\[-Walloca-larger-than" }
24 sink (p, 1);
25 }
26
27 static inline void inline_call_alloca (int n)
28 {
29 if (n > 9)
30 n = 9;
31 void *p = alloca (n); // { dg-warning "\\\[-Walloca-larger-than" }
32 sink (p, 2);
33 }
34
35 void make_inlined_call (void)
36 {
37 inline_call_alloca (10);
38 }