]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
builtins.c (integer_valued_real_p): Add builtin rint.
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Wed, 17 Mar 2004 04:47:04 +0000 (04:47 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Wed, 17 Mar 2004 04:47:04 +0000 (04:47 +0000)
* 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

gcc/ChangeLog
gcc/builtins.c
gcc/convert.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/builtin-integral-1.c

index 97453c1917ac9a4e3302dcf2c6168b9c054ef6bb..42e3475ec85bf9197c4a2a4e6da82ad928938a1b 100644 (file)
@@ -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.
 
index a206b7c18f56bd7b10595d9ba37c1c6c47134c9c..d394a40a1d433de39f4e42c458652e662db093cb 100644 (file)
@@ -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:
index e8673bcaed95601d775680acdaf0e50dfb27d15f..554cd48ea236744d943d2b1b772c4d456e5f824f 100644 (file)
@@ -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)))))
index 029201beaf6a4894a10c78d1de798a36bb026a08..fc3ea262e3dfce066de1f688eb4ba23e3f165a1f 100644 (file)
@@ -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
index af26a755bde9040a87b9188532760f463f98943c..1f2990dd2f076e392c391ff963c4caf1ad748be3 100644 (file)
@@ -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);