2 /* { dg-options "-fno-omit-frame-pointer" } */
4 #define alloca __builtin_alloca
5 extern void abort (void);
7 __attribute__ ((noinline)) static double
8 bar (double a, double b, double c, double d, char *h)
14 __attribute__ ((noinline)) static int
15 boo (double a, double b, double c, double d)
20 __attribute__ ((noinline)) static double
21 foo (double a, double b, double c, double d)
23 int aa = boo (b, c, d, a);
24 return bar (a, b, c, d, (char *) alloca (aa))
25 + bar (d, c, b, a, (char *) alloca (aa));
30 double a = 2.0, b = 3.0, c = 4.0, d = 5.0;
34 aa = boo (b, c, d, a);
35 r1 = bar (a, b, c, d, (char *) alloca (aa))
36 + bar (d, c, b, a, (char *) alloca (aa));
37 r2 = foo (a, b, c, d);