Require target lra in gcc.dg/pr108095.c
[official-gcc.git] / gcc / testsuite / gcc.dg / builtins-53.c
blobe01908c26a7d87648acfec740f5bc27a422824bb
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" } */
14 #include "builtins-config.h"
16 extern double floor(double);
17 extern double ceil(double);
18 extern double trunc(double);
20 extern float floorf(float);
21 extern float ceilf(float);
22 extern float truncf(float);
24 extern long double floorl(long double);
25 extern long double ceill(long double);
26 extern long double truncl(long double);
29 long int test1(double x)
31 return floor(x);
34 long long int test2(double x)
36 return floor(x);
39 long int test3(double x)
41 return ceil(x);
44 long long int test4(double x)
46 return ceil(x);
49 long int test5(double x)
51 return trunc(x);
54 long long int test6(double x)
56 return trunc(x);
59 #ifdef HAVE_C99_RUNTIME
60 long int test1f(float x)
62 return floorf(x);
65 long long int test2f(float x)
67 return floorf(x);
70 long int test3f(float x)
72 return ceilf(x);
75 long long int test4f(float x)
77 return ceilf(x);
79 #endif
81 long int test5f(float x)
83 return truncf(x);
86 long long int test6f(float x)
88 return truncf(x);
91 #ifdef HAVE_C99_RUNTIME
92 long int test1l(long double x)
94 return floorl(x);
97 long long int test2l(long double x)
99 return floorl(x);
102 long int test3l(long double x)
104 return ceill(x);
107 long long int test4l(long double x)
109 return ceill(x);
111 #endif
113 long int test5l(long double x)
115 return truncl(x);
118 long long int test6l(long double x)
120 return truncl(x);