This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: patch to g++ name-mangling bug


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.  */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]