f(void * a,double y)1 void f(void * a, double y)
2 {
3 }
4 
g(double a,double b,double c,double d)5 double g (double a, double b, double c, double d)
6 {
7   double x, y, z;
8   void *p;
9 
10   x = a + b;
11   y = c * d;
12 
13   p = alloca (16);
14 
15   f(p, y);
16   z = x * y * a;
17 
18   return z + b;
19 }
20 
main()21 main ()
22 {
23   double a, b, c, d;
24   a = 1.0;
25   b = 0.0;
26   c = 10.0;
27   d = 0.0;
28 
29   if (g (a, b, c, d) != 0.0)
30     abort ();
31 
32   if (a != 1.0 || b != 0.0 || c != 10.0 || d != 0.0)
33     abort ();
34 
35   exit (0);
36 }
37