1/* { dg-require-effective-target int32plus } */
2/* { dg-require-effective-target alloca } */
3
4/* Ensure that we deallocate X when branching back before its
5   declaration.  */
6
7void *volatile p;
8
9int
10main (void)
11{
12  int n = 0;
13 lab:;
14  int x[n % 1000 + 1];
15  x[0] = 1;
16  x[n % 1000] = 2;
17  p = x;
18  n++;
19  if (n < 1000000)
20    goto lab;
21  return 0;
22}
23