blob: 702bab91357b4ad0009f5e7775ea7c3125427a8e [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2" } */
/* { dg-require-effective-target alloca } */
int y;
extern int foo (int, ...) __attribute__((pure));
int
zzz (char *s1, char *s2, int len, int *q, int c)
{
int z = 5;
unsigned int i, b;
struct s { char a[z]; };
struct s x;
int y_tmp = 5;
for (i = 0; i < len; i++)
s1[i] = s2[i];
b = z & 0x3;
len += (b == 0 ? 0 : 1) + z;
*q = len;
if (c)
y_tmp = foo (z, x, x) + 4;
z = foo (z, x, x) + 4;
y = y_tmp;
return z;
}