Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.dg/Walloca-3.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* { dg-do compile } */ | |
2 /* { dg-require-effective-target alloca } */ | |
3 /* { dg-options "-Walloca-larger-than=2000 -O2" } */ | |
4 | |
5 void f (void *); | |
6 | |
7 __SIZE_TYPE__ LIMIT; | |
8 | |
9 // Warn when there is an alloca bound, but it is an unknown bound. | |
10 | |
11 void | |
12 g1 (__SIZE_TYPE__ n) | |
13 { | |
14 void *p; | |
15 if (n < LIMIT) | |
16 p = __builtin_alloca (n); // { dg-warning "'alloca' bound is unknown" } | |
17 else | |
18 p = __builtin_malloc (n); | |
19 f (p); | |
20 } | |
21 | |
22 // Similar to the above, but do not get confused by the upcast. | |
23 | |
24 unsigned short SHORT_LIMIT; | |
25 void | |
26 g2 (unsigned short n) | |
27 { | |
28 void *p; | |
29 if (n < SHORT_LIMIT) | |
30 p = __builtin_alloca (n); // { dg-warning "'alloca' bound is unknown" } | |
31 else | |
32 p = __builtin_malloc (n); | |
33 f (p); | |
34 } |