PR tree-optimization/81303
[official-gcc.git] / gcc / testsuite / gcc.dg / guality / vla-1.c
blob651465428acabe6c283b42a20793fbfffebd86ba
1 /* PR debug/43150 */
2 /* { dg-do run } */
3 /* { dg-options "-g" } */
5 void __attribute__((noinline))
6 bar (short *p)
8 __builtin_memset (p, '\0', 17 * sizeof (*p));
9 asm volatile ("" : : "r" (p) : "memory");
12 int __attribute__((noinline))
13 f1 (int i)
15 char a[i + 1];
16 a[0] = 5; /* { dg-final { gdb-test 17 "i" "5" } } */
17 return a[0]; /* { dg-final { gdb-test 17 "sizeof (a)" "6" } } */
20 int __attribute__((noinline))
21 f2 (int i)
23 short a[i * 2 + 7]; /* { dg-final { gdb-test 24 "i" "5" } } */
24 bar (a); /* { dg-final { gdb-test 24 "sizeof (a)" "17 * sizeof (short)" } } */
25 return a[i + 4];
28 int
29 main ()
31 volatile int j;
32 int i = 5;
33 asm volatile ("" : "=r" (i) : "0" (i));
34 j = f1 (i);
35 f2 (i);
36 return 0;