Merge from mainline.
[official-gcc.git] / gcc / testsuite / gcc.dg / builtins-53.c
blob048cda92afb1dd3abb61b967b4d038815e550497
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-options "-O2 -ffast-math -mmacosx-version-min=10.3" { target powerpc-*-darwin* } } */
14 /* { dg-options "-O2 -ffast-math -std=c99" { target *-*-solaris2* } } */
16 #include "builtins-config.h"
18 extern double floor(double);
19 extern double ceil(double);
20 extern double trunc(double);
22 extern float floorf(float);
23 extern float ceilf(float);
24 extern float truncf(float);
26 extern long double floorl(long double);
27 extern long double ceill(long double);
28 extern long double truncl(long double);
31 long int test1(double x)
33 return floor(x);
36 long long int test2(double x)
38 return floor(x);
41 long int test3(double x)
43 return ceil(x);
46 long long int test4(double x)
48 return ceil(x);
51 long int test5(double x)
53 return trunc(x);
56 long long int test6(double x)
58 return trunc(x);
61 #ifdef HAVE_C99_RUNTIME
62 long int test1f(float x)
64 return floorf(x);
67 long long int test2f(float x)
69 return floorf(x);
72 long int test3f(float x)
74 return ceilf(x);
77 long long int test4f(float x)
79 return ceilf(x);
81 #endif
83 long int test5f(float x)
85 return truncf(x);
88 long long int test6f(float x)
90 return truncf(x);
93 #ifdef HAVE_C99_RUNTIME
94 long int test1l(long double x)
96 return floorl(x);
99 long long int test2l(long double x)
101 return floorl(x);
104 long int test3l(long double x)
106 return ceill(x);
109 long long int test4l(long double x)
111 return ceill(x);
113 #endif
115 long int test5l(long double x)
117 return truncl(x);
120 long long int test6l(long double x)
122 return truncl(x);