summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/20010605-2.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20010605-2.c')
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20010605-2.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010605-2.c b/gcc/testsuite/gcc.c-torture/execute/20010605-2.c
new file mode 100644
index 000000000..09c7f76ac
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20010605-2.c
@@ -0,0 +1,36 @@
+void foo (), bar (), baz ();
+int main ()
+{
+ __complex__ double x;
+ __complex__ float y;
+ __complex__ long double z;
+ __real__ x = 1.0;
+ __imag__ x = 2.0;
+ foo (x);
+ __real__ y = 3.0f;
+ __imag__ y = 4.0f;
+ bar (y);
+ __real__ z = 5.0L;
+ __imag__ z = 6.0L;
+ baz (z);
+ exit (0);
+}
+
+void foo (__complex__ double x)
+{
+ if (__real__ x != 1.0 || __imag__ x != 2.0)
+ abort ();
+}
+
+void bar (__complex__ float x)
+{
+ if (__real__ x != 3.0f || __imag__ x != 4.0f)
+ abort ();
+}
+
+void baz (__complex__ long double x)
+{
+ if (__real__ x != 5.0L || __imag__ x != 6.0L)
+ abort ();
+}
+