1 /* Derived from PR optimization/11700.  */
2 /* The compiler used to ICE during reload for m68k targets.  */
3 
4 /* { dg-skip-if "exceeds eBPF stack limit" { bpf-*-* } } */
5 
6 void check_complex (__complex__ double, __complex__ double,
7                     __complex__ double, __complex__ int);
8 void check_float (double, double, double, int);
9 extern double _Complex conj (double _Complex);
10 extern double carg (double _Complex __z);
11 
12 static double minus_zero;
13 
14 void
conj_test(void)15 conj_test (void)
16 {
17   check_complex (conj (({ __complex__ double __retval;
18 			  __real__ __retval = (0.0);
19 			  __imag__ __retval = (0.0);
20 			  __retval; })),
21 		 ({ __complex__ double __retval;
22 		    __real__ __retval = (0.0);
23 		    __imag__ __retval = (minus_zero);
24 		    __retval; }), 0, 0);
25 }
26 
27 void
carg_test(void)28 carg_test (void)
29 {
30   check_float (carg (({ __complex__ double __retval;
31 			__real__ __retval = (2.0);
32 			__imag__ __retval = (0);
33 			__retval; })), 0, 0, 0);
34 }
35 
36