OSDN Git Service

* c-common.c (c_common_reswords): Add _Static_assert for C.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / builtins-6.c
1 /* Copyright (C) 2003  Free Software Foundation.
2
3    Verify that constant folding comparisons against built-in math functions
4    don't cause any problems for the compiler, and produce expected results.
5
6    Written by Roger Sayle, 15th March 2003.  */
7
8 /* { dg-do run } */
9 /* { dg-options "-O2 -ffast-math" } */
10
11 #include <float.h>
12
13 extern void abort (void);
14 extern double sqrt (double);
15
16 int test1(double x)
17 {
18   return sqrt(x) < -9.0;
19 }
20
21 int test2(double x)
22 {
23   return sqrt(x) > -9.0;
24 }
25
26 int test3(double x)
27 {
28   return sqrt(x) < 9.0;
29 }
30
31 int test4(double x)
32 {
33   return sqrt(x) > 9.0;
34 }
35
36 int test5(double x)
37 {
38   return sqrt(x) < DBL_MAX;
39 }
40
41 int test6(double x)
42 {
43   return sqrt(x) > DBL_MAX;
44 }
45
46 int main()
47 {
48   double x;
49
50   x = 80.0;
51   if (test1 (x))
52     abort ();
53   if (! test2 (x))
54     abort ();
55   if (! test3 (x))
56     abort ();
57   if (test4 (x))
58     abort ();
59   if (! test5 (x))
60     abort ();
61   if (test6 (x))
62     abort ();
63
64   x = 100.0;
65   if (test1 (x))
66     abort ();
67   if (! test2 (x))
68     abort ();
69   if (test3 (x))
70     abort ();
71   if (! test4 (x))
72     abort ();
73   if (! test5 (x))
74     abort ();
75   if (test6 (x))
76     abort ();
77
78   return 0;
79 }
80