This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
3.4 PATCH: Fix IRIX 6 bootstrap failure
- From: Rainer Orth <ro at TechFak dot Uni-Bielefeld dot DE>
- To: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 26 Jun 2003 18:52:16 +0200 (MEST)
- Subject: 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);