diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 2004-03-17 04:47:04 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 2004-03-17 04:47:04 +0000 |
commit | d093738d94d297f7986c757dbb41b1b10be75c6d (patch) | |
tree | fb5d87bb48bc66fabd7917712651e0434c060009 /gcc | |
parent | b57051b2f5459e1a55f502cac3973a995f1aa8ff (diff) | |
download | gcc-d093738d94d297f7986c757dbb41b1b10be75c6d.zip gcc-d093738d94d297f7986c757dbb41b1b10be75c6d.tar.gz gcc-d093738d94d297f7986c757dbb41b1b10be75c6d.tar.bz2 |
builtins.c (integer_valued_real_p): Add builtin rint.
* builtins.c (integer_valued_real_p): Add builtin rint.
(fold_builtin): Likewise.
* convert.c (convert_to_real): Likewise.
testsuite:
* gcc.dg/torture/builtin-integral-1.c: Also check for `rint'.
From-SVN: r79572
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/builtins.c | 6 | ||||
-rw-r--r-- | gcc/convert.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/builtin-integral-1.c | 1 |
5 files changed, 17 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 97453c1..42e3475 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2004-03-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + * builtins.c (integer_valued_real_p): Add builtin rint. + (fold_builtin): Likewise. + * convert.c (convert_to_real): Likewise. + * convert.c (convert_to_real): Fix typos in `long double' builtins. diff --git a/gcc/builtins.c b/gcc/builtins.c index a206b7c..d394a40 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -5795,6 +5795,9 @@ integer_valued_real_p (tree t) case BUILT_IN_NEARBYINT: case BUILT_IN_NEARBYINTF: case BUILT_IN_NEARBYINTL: + case BUILT_IN_RINT: + case BUILT_IN_RINTF: + case BUILT_IN_RINTL: case BUILT_IN_ROUND: case BUILT_IN_ROUNDF: case BUILT_IN_ROUNDL: @@ -7044,6 +7047,9 @@ fold_builtin (tree exp) case BUILT_IN_NEARBYINT: case BUILT_IN_NEARBYINTF: case BUILT_IN_NEARBYINTL: + case BUILT_IN_RINT: + case BUILT_IN_RINTF: + case BUILT_IN_RINTL: return fold_trunc_transparent_mathfn (exp); case BUILT_IN_FFS: diff --git a/gcc/convert.c b/gcc/convert.c index e8673bc..554cd48 100644 --- a/gcc/convert.c +++ b/gcc/convert.c @@ -175,6 +175,7 @@ convert_to_real (tree type, tree expr) && (((fcode == BUILT_IN_FLOORL || fcode == BUILT_IN_CEILL || fcode == BUILT_IN_ROUNDL + || fcode == BUILT_IN_RINTL || fcode == BUILT_IN_TRUNCL || fcode == BUILT_IN_NEARBYINTL) && (TYPE_MODE (type) == TYPE_MODE (double_type_node) @@ -182,6 +183,7 @@ convert_to_real (tree type, tree expr) || ((fcode == BUILT_IN_FLOOR || fcode == BUILT_IN_CEIL || fcode == BUILT_IN_ROUND + || fcode == BUILT_IN_RINT || fcode == BUILT_IN_TRUNC || fcode == BUILT_IN_NEARBYINT) && (TYPE_MODE (type) == TYPE_MODE (float_type_node))))) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 029201b..fc3ea26 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2004-03-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * gcc.dg/torture/builtin-integral-1.c: Also check for `rint'. + 2004-03-16 Mark Mitchell <mark@codesourcery.com> PR c++/14481 diff --git a/gcc/testsuite/gcc.dg/torture/builtin-integral-1.c b/gcc/testsuite/gcc.dg/torture/builtin-integral-1.c index af26a75..1f2990d 100644 --- a/gcc/testsuite/gcc.dg/torture/builtin-integral-1.c +++ b/gcc/testsuite/gcc.dg/torture/builtin-integral-1.c @@ -28,6 +28,7 @@ void test(int i1, int i2) CHECK_FN(ceil); CHECK_FN(floor); CHECK_FN(nearbyint); + CHECK_FN(rint); CHECK_FN(round); CHECK_FN(trunc); |