summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/method.c8
2 files changed, 8 insertions, 5 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index f1a2f8adcbe..7f515d9f7b5 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -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
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index 38e9c58e6f8..44dc3abf8a3 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -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. */
OpenPOWER on IntegriCloud