1/* { dg-require-effective-target alloca } */
2void zzz (char *s1, char *s2, int len, int *q)
3{
4  int z = 5;
5  unsigned int i,  b;
6  struct { char a[z]; } x;
7
8  for (i = 0; i < len; i++)
9    s1[i] = s2[i];
10
11  b = z & 0x3;
12
13  len += (b == 0 ? 0 : 1) + z;
14
15  *q = len;
16
17  foo (x, x);
18}
19