This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: patch to g++ name-mangling bug
- To: Jed Wing <jedwin at zloty dot ugcs dot caltech dot edu>
- Subject: Re: patch to g++ name-mangling bug
- From: Jason Merrill <jason at cygnus dot com>
- Date: 20 Mar 2000 10:12:16 -0800
- Cc: gcc-patches at gcc dot gnu dot org
- References: <20000320100248.65DE654815@zloty.ugcs.caltech.edu>
I applied this patch:
2000-03-20 Jed Wing <jedwin@zloty.ugcs.caltech.edu>
Jason Merrill <jason@casey.cygnus.com>
* method.c (build_overload_int): Use host_integerp.
Index: method.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/cp/method.c,v
retrieving revision 1.141
diff -c -p -r1.141 method.c
*** method.c 2000/03/10 09:25:45 1.141
--- method.c 2000/03/20 18:11:40
*************** build_overload_int (value, flags)
*** 597,607 ****
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)))
{
multiple_words_p = 1;
/* And there is certainly going to be more than one digit. */
--- 597,605 ----
should always be represented by constants. */
my_friendly_assert (TREE_CODE (value) == INTEGER_CST, 243);
! /* 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. */