annotate gcc/testsuite/gcc.c-torture/compile/20101216-1.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 typedef signed int __int32_t;
kono
parents:
diff changeset
2 typedef unsigned int __uint32_t;
kono
parents:
diff changeset
3 typedef union
kono
parents:
diff changeset
4 {
kono
parents:
diff changeset
5 double value;
kono
parents:
diff changeset
6 struct
kono
parents:
diff changeset
7 {
kono
parents:
diff changeset
8 __uint32_t msw;
kono
parents:
diff changeset
9 __uint32_t lsw;
kono
parents:
diff changeset
10 } parts;
kono
parents:
diff changeset
11 } ieee_double_shape_type;
kono
parents:
diff changeset
12 two52= 4.50359962737049600000e+15,
kono
parents:
diff changeset
13 w6 = -1.63092934096575273989e-03;
kono
parents:
diff changeset
14 double sin_pi(double x)
kono
parents:
diff changeset
15 {
kono
parents:
diff changeset
16 double y,z;
kono
parents:
diff changeset
17 __int32_t n,ix;
kono
parents:
diff changeset
18 ieee_double_shape_type gh_u;
kono
parents:
diff changeset
19 gh_u.value = (x);
kono
parents:
diff changeset
20 (ix) = gh_u.parts.msw;
kono
parents:
diff changeset
21 if(ix<0x43300000)
kono
parents:
diff changeset
22 z = y+two52;
kono
parents:
diff changeset
23 ieee_double_shape_type gl_u;
kono
parents:
diff changeset
24 gl_u.value = (z);
kono
parents:
diff changeset
25 (n) = gl_u.parts.lsw;
kono
parents:
diff changeset
26 n &= 1;
kono
parents:
diff changeset
27 switch (n)
kono
parents:
diff changeset
28 {
kono
parents:
diff changeset
29 case 0:
kono
parents:
diff changeset
30 __kernel_sin();
kono
parents:
diff changeset
31 }
kono
parents:
diff changeset
32 }