OSDN Git Service

PR rtl-optimization/52139
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / pr51990-2.c
1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3
4 int y;
5 extern int foo (int, ...) __attribute__((pure));
6
7 int
8 zzz (char *s1, char *s2, int len, int *q, int c)
9 {
10   int z = 5;
11   unsigned int i, b;
12   struct s { char a[z]; };
13   struct s x;
14   int y_tmp = 5;
15
16   for (i = 0; i < len; i++)
17     s1[i] = s2[i];
18
19   b = z & 0x3;
20
21   len += (b == 0 ? 0 : 1) + z;
22
23   *q = len;
24
25  if (c)
26    y_tmp = foo (z, x, x) + 4;
27
28  z = foo (z, x, x) + 4;
29  y = y_tmp;
30
31  return  z;
32 }