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]
Other format: [Raw text]

3.4 PATCH: Fix IRIX 6 bootstrap failure


Zdenek,

this patch

	http://gcc.gnu.org/ml/gcc-patches/2003-06/msg02502.html

broke bootstrap on mips-sgi-irix6.5:

/.vol/gcc/src/gcc-dist/gcc/cfgrtl.c: In function `mark_killed_regs':
/.vol/gcc/src/gcc-dist/gcc/cfgrtl.c:1327: warning: comparison between signed and unsigned

since HARD_REGNO_NREGS is defined to mips_hard_regno_nregs which returns an
unsigned int.  The following patch fixes this and allows bootstrap to
continue.

Btw., I noticed that the comment before mark_killed_regs doesn't describe
its arguments.

Even so, the bootstrap still fails later:

/.vol/gcc/src/gcc-dist/gcc/cp/decl2.c: In function `mark_used':
/.vol/gcc/src/gcc-dist/gcc/cp/decl2.c:4642: error: unrecognizable insn:
(insn:HI 458 457 459 40 /.vol/gcc/src/gcc-dist/gcc/cp/decl2.c:4626 (set (reg:DI 419)
        (plus:DI (reg:DI 421)
            (const_int -32768 [0xffffffffffff8000]))) -1 (insn_list 457 (nil))
    (expr_list:REG_DEAD (reg:DI 421)
        (expr_list:REG_EQUAL (const_int -71916856549605376 [0xff007fffffff8000])
            (nil))))
/.vol/gcc/src/gcc-dist/gcc/cp/decl2.c:4642: internal compiler error: in ?, at recog.c:2139

I have no idea if my fix is wrong or this is related at all.

	Rainer

-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University



Thu Jun 26 18:02:24 2003  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* cfgrtl.c (mark_killed_regs): Make regno, i unsigned.

Index: cfgrtl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cfgrtl.c,v
retrieving revision 1.84
diff -u -p -r1.84 cfgrtl.c
--- cfgrtl.c	26 Jun 2003 06:13:27 -0000	1.84
+++ cfgrtl.c	26 Jun 2003 16:07:28 -0000
@@ -1313,7 +1313,7 @@ static void
 mark_killed_regs (rtx reg, rtx set ATTRIBUTE_UNUSED, void *data)
 {
   regset killed = data;
-  int regno, i;
+  unsigned int regno, i;
 
   if (GET_CODE (reg) == SUBREG)
     reg = SUBREG_REG (reg);


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