1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fstack-clash-protection -mtune=generic -fdump-rtl-expand" } */
3 /* { dg-require-effective-target supports_stack_clash_protection } */
4 /* { dg-skip-if "" { *-*-* } { "-fstack-protector*" } { "" } } */
5 
6 int f1 (char *);
7 
8 int
f2(void)9 f2 (void)
10 {
11   const int size = 4096;
12   char buffer[size];
13   return f1 (buffer);
14 }
15 
16 /* So we want to verify that at expand time that we probed the main
17    VLA allocation as well as the residuals.  Then we want to verify
18    there was only one probe in the final assembly (implying the
19    residual probe was optimized away).  */
20 /* { dg-final { scan-rtl-dump-times "allocation and probing in loop" 1 "expand" } } */
21 /* { dg-final { scan-rtl-dump-times "allocation and probing residuals" 1 "expand" } } */
22 
23 /* { dg-final { scan-assembler-times "or\[ql\]" 1 } } */
24 
25