2012-01-27 Tom de Vries <tom@codesourcery.com>
[official-gcc.git] / gcc / testsuite / gcc.dg / pr51990-2.c
blob1ced0a833a8febf38c7bef58f860b16305822663
1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
4 int y;
5 extern int foo (int, ...) __attribute__((pure));
7 int
8 zzz (char *s1, char *s2, int len, int *q, int c)
10 int z = 5;
11 unsigned int i, b;
12 struct s { char a[z]; };
13 struct s x;
14 int y_tmp = 5;
16 for (i = 0; i < len; i++)
17 s1[i] = s2[i];
19 b = z & 0x3;
21 len += (b == 0 ? 0 : 1) + z;
23 *q = len;
25 if (c)
26 y_tmp = foo (z, x, x) + 4;
28 z = foo (z, x, x) + 4;
29 y = y_tmp;
31 return z;