Add documentation for musttail attribute
[official-gcc.git] / gcc / testsuite / gcc.dg / builtins-67.c
blob36b7886b16afd25a5e5865b538db2a35f9433175
1 /* Check that conversion functions link correctly with -ffast-math. */
3 /* { dg-do link } */
4 /* { dg-options "-ffast-math -lm" } */
5 /* Bionic doesn't have rintl */
6 /* { dg-require-effective-target non_bionic } */
8 #include "builtins-config.h"
10 double floor (double);
11 float floorf (float);
12 long double floorl (long double);
14 double ceil (double);
15 float ceilf (float);
16 long double ceill (long double);
18 double round (double);
19 float roundf (float);
20 long double roundl (long double);
22 double rint (double);
23 float rintf (float);
24 long double rintl (long double);
26 int ifloor (double a) { return (int) floor (a); }
27 #ifdef HAVE_C99_RUNTIME
28 int ifloorf (float a) { return (int) floorf (a); }
29 int ifloorl (long double a) { return (int) floorl (a); }
30 #endif
32 long lfloor (double a) { return (long) floor (a); }
33 #ifdef HAVE_C99_RUNTIME
34 long lfloorf (float a) { return (long) floorf (a); }
35 long lfloorl (long double a) { return (long) floorl (a); }
36 #endif
38 long long llfloor (double a) { return (long long) floor (a); }
39 #ifdef HAVE_C99_RUNTIME
40 long long llfloorf (float a) { return (long long) floorf (a); }
41 long long llfloorl (long double a) { return (long long) floorl (a); }
42 #endif
44 int iceil (double a) { return (int) ceil (a); }
45 #ifdef HAVE_C99_RUNTIME
46 int iceilf (float a) { return (int) ceilf (a); }
47 int iceill (long double a) { return (int) ceill (a); }
48 #endif
50 long lceil (double a) { return (long) ceil (a); }
51 #ifdef HAVE_C99_RUNTIME
52 long lceilf (float a) { return (long) ceilf (a); }
53 long lceill (long double a) { return (long) ceill (a); }
54 #endif
56 long long llceil (double a) { return (long long) ceil (a); }
57 #ifdef HAVE_C99_RUNTIME
58 long long llceilf (float a) { return (long long) ceilf (a); }
59 long long llceill (long double a) { return (long long) ceill (a); }
60 #endif
62 #ifdef HAVE_C99_RUNTIME
63 int iround (double a) { return (int) round (a); }
64 int iroundf (float a) { return (int) roundf (a); }
65 int iroundl (long double a) { return (int) roundl (a); }
66 #endif
68 #ifdef HAVE_C99_RUNTIME
69 int irint (double a) { return (int) rint (a); }
70 int irintf (float a) { return (int) rintf (a); }
71 int irintl (long double a) { return (int) rintl (a); }
72 #endif
74 int main () { return 0; }