1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3 
4 int
zzz(char * s1,char * s2,int len,int * q)5 zzz (char *s1, char *s2, int len, int *q)
6 {
7   int z = 5;
8   unsigned int i, b;
9   struct s { char a[z]; };
10   struct s x;
11 
12   extern int foo (int, ...) __attribute__((pure));
13 
14   for (i = 0; i < len; i++)
15     s1[i] = s2[i];
16 
17   b = z & 0x3;
18 
19   len += (b == 0 ? 0 : 1) + z;
20 
21   *q = len;
22   return foo (z, x, x);
23 }
24