blob: 2f68ae8ff6dbc6c1c8bf22b977285b2f5932b3d7 [file] [log] [blame]
/* { dg-require-effective-target alloca } */
void f(void * a, double y)
{
}
double g (double a, double b, double c, double d)
{
double x, y, z;
void *p;
x = a + b;
y = c * d;
p = alloca (16);
f(p, y);
z = x * y * a;
return z + b;
}
main ()
{
double a, b, c, d;
a = 1.0;
b = 0.0;
c = 10.0;
d = 0.0;
if (g (a, b, c, d) != 0.0)
abort ();
if (a != 1.0 || b != 0.0 || c != 10.0 || d != 0.0)
abort ();
exit (0);
}