aboutsummaryrefslogtreecommitdiff
path: root/SingleSource/Regression/C/gcc-c-torture/execute/complex-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'SingleSource/Regression/C/gcc-c-torture/execute/complex-1.c')
-rw-r--r--SingleSource/Regression/C/gcc-c-torture/execute/complex-1.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/SingleSource/Regression/C/gcc-c-torture/execute/complex-1.c b/SingleSource/Regression/C/gcc-c-torture/execute/complex-1.c
new file mode 100644
index 00000000..59101796
--- /dev/null
+++ b/SingleSource/Regression/C/gcc-c-torture/execute/complex-1.c
@@ -0,0 +1,40 @@
+double
+g0 (double x)
+{
+ return 1.0;
+}
+
+double
+g1 (double x)
+{
+ return -1.0;
+}
+
+double
+g2 (double x)
+{
+ return 0.0;
+}
+
+__complex__ double
+xcexp (__complex__ double x)
+{
+ double r;
+
+ r = g0 (__real__ x);
+ __real__ x = r * g1 (__imag__ x);
+ __imag__ x = r * g2 (__imag__ x);
+ return x;
+}
+
+main ()
+{
+ __complex__ double x;
+
+ x = xcexp (1.0i);
+ if (__real__ x != -1.0)
+ abort ();
+ if (__imag__ x != 0.0)
+ abort ();
+ exit (0);
+}