diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/builtins-53.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/builtins-53.c | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/builtins-53.c b/gcc/testsuite/gcc.dg/builtins-53.c new file mode 100644 index 000000000..9a50bf5ad --- /dev/null +++ b/gcc/testsuite/gcc.dg/builtins-53.c @@ -0,0 +1,122 @@ +/* Copyright (C) 2005 Free Software Foundation. + + Check that (long)floor, (long)floorf, (long)floorl, + (long long)floor, (long long)floorf, (long long)floorl, + (long)ceil, (long)ceilf, (long)ceill, + (long long)ceil, (long long)ceilf, (long long)ceill + built-in functions compile. + + Written by Uros Bizjak, 5th April 2005. */ + +/* { dg-do compile } */ +/* { dg-options "-O2 -ffast-math" } */ +/* { dg-add-options c99_runtime } */ + +#include "builtins-config.h" + +extern double floor(double); +extern double ceil(double); +extern double trunc(double); + +extern float floorf(float); +extern float ceilf(float); +extern float truncf(float); + +extern long double floorl(long double); +extern long double ceill(long double); +extern long double truncl(long double); + + +long int test1(double x) +{ + return floor(x); +} + +long long int test2(double x) +{ + return floor(x); +} + +long int test3(double x) +{ + return ceil(x); +} + +long long int test4(double x) +{ + return ceil(x); +} + +long int test5(double x) +{ + return trunc(x); +} + +long long int test6(double x) +{ + return trunc(x); +} + +#ifdef HAVE_C99_RUNTIME +long int test1f(float x) +{ + return floorf(x); +} + +long long int test2f(float x) +{ + return floorf(x); +} + +long int test3f(float x) +{ + return ceilf(x); +} + +long long int test4f(float x) +{ + return ceilf(x); +} +#endif + +long int test5f(float x) +{ + return truncf(x); +} + +long long int test6f(float x) +{ + return truncf(x); +} + +#ifdef HAVE_C99_RUNTIME +long int test1l(long double x) +{ + return floorl(x); +} + +long long int test2l(long double x) +{ + return floorl(x); +} + +long int test3l(long double x) +{ + return ceill(x); +} + +long long int test4l(long double x) +{ + return ceill(x); +} +#endif + +long int test5l(long double x) +{ + return truncl(x); +} + +long long int test6l(long double x) +{ + return truncl(x); +} |