annotate gcc/testsuite/gcc.dg/pr55019.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do run } */
kono
parents:
diff changeset
2 /* { dg-options "-O1 -funroll-loops" } */
kono
parents:
diff changeset
3 /* { dg-add-options ieee } */
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 extern void exit (int);
kono
parents:
diff changeset
6 extern void abort (void);
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 void
kono
parents:
diff changeset
9 compare (double a, double b)
kono
parents:
diff changeset
10 {
kono
parents:
diff changeset
11 do
kono
parents:
diff changeset
12 {
kono
parents:
diff changeset
13 double s1 = __builtin_copysign ((double) 1.0, a);
kono
parents:
diff changeset
14 double s2 = __builtin_copysign ((double) 1.0, b);
kono
parents:
diff changeset
15
kono
parents:
diff changeset
16 if (s1 != s2)
kono
parents:
diff changeset
17 abort ();
kono
parents:
diff changeset
18
kono
parents:
diff changeset
19 if ((__builtin_isnan (a) != 0) != (__builtin_isnan (b) != 0))
kono
parents:
diff changeset
20 abort ();
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 if ((a != b) != (__builtin_isnan (a) != 0))
kono
parents:
diff changeset
23 abort ();
kono
parents:
diff changeset
24 } while (0);
kono
parents:
diff changeset
25 }
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27 int
kono
parents:
diff changeset
28 main ()
kono
parents:
diff changeset
29 {
kono
parents:
diff changeset
30 double a = 0.0;
kono
parents:
diff changeset
31 double b = 0.0;
kono
parents:
diff changeset
32 _Complex double cr = __builtin_complex (a, b);
kono
parents:
diff changeset
33 static _Complex double cs = __builtin_complex (0.0, 0.0);
kono
parents:
diff changeset
34
kono
parents:
diff changeset
35 compare (__real__ cr, 0.0);
kono
parents:
diff changeset
36 compare (__imag__ cr, 0.0);
kono
parents:
diff changeset
37 compare (__real__ cs, 0.0);
kono
parents:
diff changeset
38 compare (__imag__ cs, 0.0);
kono
parents:
diff changeset
39
kono
parents:
diff changeset
40 exit (0);
kono
parents:
diff changeset
41 }