1 double
g0(double x)2 g0 (double x)
3 {
4   return 1.0;
5 }
6 
7 double
g1(double x)8 g1 (double x)
9 {
10   return -1.0;
11 }
12 
13 double
g2(double x)14 g2 (double x)
15 {
16   return 0.0;
17 }
18 
19 __complex__ double
xcexp(__complex__ double x)20 xcexp (__complex__ double x)
21 {
22   double r;
23 
24   r = g0 (__real__ x);
25   __real__ x = r * g1 (__imag__ x);
26   __imag__ x = r * g2 (__imag__ x);
27   return x;
28 }
29 
main()30 main ()
31 {
32   __complex__ double x;
33 
34   x = xcexp (1.0i);
35   if (__real__ x != -1.0)
36     abort ();
37   if (__imag__ x != 0.0)
38     abort ();
39   exit (0);
40 }
41