1 /* { dg-require-effective-target alloca } */
2 
__re_compile_fastmap(unsigned char * p)3 int __re_compile_fastmap(unsigned char *p)
4 {
5     unsigned char **stack;
6     unsigned size;
7     unsigned avail;
8 
9     stack = __builtin_alloca(5 * sizeof(unsigned char*));
10     if (stack == 0)
11 	return -2;
12     size = 5;
13     avail = 0;
14 
15     for (;;) {
16 	switch (*p++) {
17 	case 0:
18 	    if (avail == size)
19 		return -2;
20 	    stack[avail++] = p;
21 	}
22     }
23 
24     return 0;
25 }
26 
27