aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/20020314-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20020314-1.c')
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20020314-1.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020314-1.c b/gcc/testsuite/gcc.c-torture/execute/20020314-1.c
new file mode 100644
index 00000000000..28288c82c8b
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20020314-1.c
@@ -0,0 +1,36 @@
+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);
+}