annotate gcc/testsuite/gcc.dg/20030804-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 /* Copyright (C) 2003 Free Software Foundation.
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 Check that constant folding of mathematical expressions doesn't
kono
parents:
diff changeset
4 break anything.
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 Written by Roger Sayle, 3rd August 2003. */
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 /* { dg-do link } */
kono
parents:
diff changeset
9 /* { dg-options "-O2 -ffast-math" } */
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 extern void link_error(void);
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 void test(double x)
kono
parents:
diff changeset
14 {
kono
parents:
diff changeset
15 if (x+x != 2.0*x)
kono
parents:
diff changeset
16 link_error ();
kono
parents:
diff changeset
17 if (x+x != x*2.0)
kono
parents:
diff changeset
18 link_error ();
kono
parents:
diff changeset
19
kono
parents:
diff changeset
20 if (x+x+x != 3.0*x)
kono
parents:
diff changeset
21 link_error ();
kono
parents:
diff changeset
22 if (x+x+x != x*3.0)
kono
parents:
diff changeset
23 link_error ();
kono
parents:
diff changeset
24
kono
parents:
diff changeset
25 if ((x+x)+x != 3.0*x)
kono
parents:
diff changeset
26 link_error ();
kono
parents:
diff changeset
27 if ((x+x)+x != x*3.0)
kono
parents:
diff changeset
28 link_error ();
kono
parents:
diff changeset
29
kono
parents:
diff changeset
30 if (x+(x+x) != 3.0*x)
kono
parents:
diff changeset
31 link_error ();
kono
parents:
diff changeset
32 if (x+(x+x) != x*3.0)
kono
parents:
diff changeset
33 link_error ();
kono
parents:
diff changeset
34
kono
parents:
diff changeset
35 if (x+4.0*x != 5.0*x)
kono
parents:
diff changeset
36 link_error ();
kono
parents:
diff changeset
37 if (x+4.0*x != x*5.0)
kono
parents:
diff changeset
38 link_error ();
kono
parents:
diff changeset
39 if (x+x*4.0 != 5.0*x)
kono
parents:
diff changeset
40 link_error ();
kono
parents:
diff changeset
41 if (x+x*4.0 != x*5.0)
kono
parents:
diff changeset
42 link_error ();
kono
parents:
diff changeset
43 if (4.0*x+x != 5.0*x)
kono
parents:
diff changeset
44 link_error ();
kono
parents:
diff changeset
45 if (4.0*x+x != x*5.0)
kono
parents:
diff changeset
46 link_error ();
kono
parents:
diff changeset
47 if (x*4.0+x != 5.0*x)
kono
parents:
diff changeset
48 link_error ();
kono
parents:
diff changeset
49 if (x*4.0+x != x*5.0)
kono
parents:
diff changeset
50 link_error ();
kono
parents:
diff changeset
51
kono
parents:
diff changeset
52 if (3.0*x + 5.0*x != 8.0*x)
kono
parents:
diff changeset
53 link_error ();
kono
parents:
diff changeset
54 if (3.0*x + 5.0*x != x*8.0)
kono
parents:
diff changeset
55 link_error ();
kono
parents:
diff changeset
56 if (x*3.0 + 5.0*x != 8.0*x)
kono
parents:
diff changeset
57 link_error ();
kono
parents:
diff changeset
58 if (x*3.0 + 5.0*x != x*8.0)
kono
parents:
diff changeset
59 link_error ();
kono
parents:
diff changeset
60 if (3.0*x + x*5.0 != 8.0*x)
kono
parents:
diff changeset
61 link_error ();
kono
parents:
diff changeset
62 if (3.0*x + x*5.0 != x*8.0)
kono
parents:
diff changeset
63 link_error ();
kono
parents:
diff changeset
64 if (x*3.0 + x*5.0 != 8.0*x)
kono
parents:
diff changeset
65 link_error ();
kono
parents:
diff changeset
66 if (x*3.0 + x*5.0 != x*8.0)
kono
parents:
diff changeset
67 link_error ();
kono
parents:
diff changeset
68 }
kono
parents:
diff changeset
69
kono
parents:
diff changeset
70 int main()
kono
parents:
diff changeset
71 {
kono
parents:
diff changeset
72 test(2.0);
kono
parents:
diff changeset
73 return 0;
kono
parents:
diff changeset
74 }
kono
parents:
diff changeset
75