2017-12-05 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / builtins-53.c
blob9a50bf5ad3c293934628149ad214c6d4950f0c5b
1 /* Copyright (C) 2005 Free Software Foundation.
3 Check that (long)floor, (long)floorf, (long)floorl,
4 (long long)floor, (long long)floorf, (long long)floorl,
5 (long)ceil, (long)ceilf, (long)ceill,
6 (long long)ceil, (long long)ceilf, (long long)ceill
7 built-in functions compile.
9 Written by Uros Bizjak, 5th April 2005. */
11 /* { dg-do compile } */
12 /* { dg-options "-O2 -ffast-math" } */
13 /* { dg-add-options c99_runtime } */
15 #include "builtins-config.h"
17 extern double floor(double);
18 extern double ceil(double);
19 extern double trunc(double);
21 extern float floorf(float);
22 extern float ceilf(float);
23 extern float truncf(float);
25 extern long double floorl(long double);
26 extern long double ceill(long double);
27 extern long double truncl(long double);
30 long int test1(double x)
32 return floor(x);
35 long long int test2(double x)
37 return floor(x);
40 long int test3(double x)
42 return ceil(x);
45 long long int test4(double x)
47 return ceil(x);
50 long int test5(double x)
52 return trunc(x);
55 long long int test6(double x)
57 return trunc(x);
60 #ifdef HAVE_C99_RUNTIME
61 long int test1f(float x)
63 return floorf(x);
66 long long int test2f(float x)
68 return floorf(x);
71 long int test3f(float x)
73 return ceilf(x);
76 long long int test4f(float x)
78 return ceilf(x);
80 #endif
82 long int test5f(float x)
84 return truncf(x);
87 long long int test6f(float x)
89 return truncf(x);
92 #ifdef HAVE_C99_RUNTIME
93 long int test1l(long double x)
95 return floorl(x);
98 long long int test2l(long double x)
100 return floorl(x);
103 long int test3l(long double x)
105 return ceill(x);
108 long long int test4l(long double x)
110 return ceill(x);
112 #endif
114 long int test5l(long double x)
116 return truncl(x);
119 long long int test6l(long double x)
121 return truncl(x);