method.c (build_overload_int): Use host_integerp.
authorJed Wing <jedwin@zloty.ugcs.caltech.edu>
Mon, 20 Mar 2000 18:12:59 +0000 (18:12 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Mon, 20 Mar 2000 18:12:59 +0000 (13:12 -0500)
        * method.c (build_overload_int): Use host_integerp.

Co-Authored-By: Jason Merrill <jason@casey.cygnus.com>
From-SVN: r32650

gcc/cp/ChangeLog
gcc/cp/method.c

index f1a2f8adcbe4b2396d4f2999d66335e4388fd6cb..7f515d9f7b57f423ac31199918a75e3f03dacc41 100644 (file)
@@ -1,3 +1,8 @@
+2000-03-20  Jed Wing <jedwin@zloty.ugcs.caltech.edu>
+           Jason Merrill  <jason@casey.cygnus.com>
+
+       * method.c (build_overload_int): Use host_integerp.
+
 2000-03-20 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
 
        * init.c (build_offset_ref): Handle the case of a templated member
index 38e9c58e6f866e895422c944bc30e21bdaa4bb7f..44dc3abf8a3dceeabd3b67c6bdaace2840dfc206 100644 (file)
@@ -597,11 +597,9 @@ build_overload_int (value, flags)
      should always be represented by constants.  */
   my_friendly_assert (TREE_CODE (value) == INTEGER_CST, 243);
 
-  /* If the high-order word is not merely a sign-extension of the
-     low-order word, we must use a special output routine that can
-     deal with this.  */
-  if ((unsigned HOST_WIDE_INT) TREE_INT_CST_HIGH (value)
-      != (TREE_INT_CST_LOW (value) >> (HOST_BITS_PER_WIDE_INT - 1)))
+  /* If value doesn't fit in a single HOST_WIDE_INT, we must use a
+     special output routine that can deal with this.  */
+  if (! host_integerp (value, 0))
     {
       multiple_words_p = 1;
       /* And there is certainly going to be more than one digit.  */