Path: utzoo!telly!ddsw1!mcdchg!rutgers!mailrus!ukma!tut.cis.ohio-state.edu!HPLABS.HP.COM!glenne%hplsla From: glenne%hplsla@HPLABS.HP.COM (Glenn Engel) Newsgroups: gnu.gcc.bug Subject: Re: GCC 1.28 and HP-UX 6.2 Message-ID: <8809211433.AA11926@labgre.HP.COM> Date: 21 Sep 88 14:33:43 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 56 > >I'm having trouble getting GCC 1.28 to compile under HP-UX 6.2 (running on >an HP 9000/330). I can make the first stage OK, but when I try to >compile gcc again using the stage1 gcc, it hangs in an infinite loop >trying to compile c-parse.tab.c. I can't include any other useful info because >gcc doesn't generate debug info that our debugger likes....by the way, >GCC 1.27 compiled without a hitch. I had similar problems but with the patch to reload.c suggested by Donn Seeley University of Utah CS Dept donn@cs.utah.edu I was able to build and verify stage2. Good Luck, glenne%hplsla@hplabs.hp.com Here's the patch I used: *** ../../dist/gcc-1.28/reload.c Mon Sep 12 21:11:55 1988 --- reload.c Tue Sep 20 22:33:12 1988 *************** *** 249,255 || GET_CODE (XEXP (in, 0)) == PRE_DEC) out = gen_rtx (MEM, GET_MODE (out), XEXP (XEXP (out, 0), 0)); } ! /* If we are reloading a (SUBREG (MEM ...) ...) or (SUBREG constant ...), really reload just the inside expression in its own mode. Note that the case of (SUBREG (CONST_INT...)...) is handled elsewhere; --- 249,255 ----- || GET_CODE (XEXP (in, 0)) == PRE_DEC) out = gen_rtx (MEM, GET_MODE (out), XEXP (XEXP (out, 0), 0)); } ! #if 0 /* If we are reloading a (SUBREG (MEM ...) ...) or (SUBREG constant ...), really reload just the inside expression in its own mode. Note that the case of (SUBREG (CONST_INT...)...) is handled elsewhere; *************** *** 266,271 abort (); inmode = GET_MODE (in); } /* If IN appears in OUT, we can't share any input-only reload for IN. */ if (in != 0 && out != 0 && reg_mentioned_p (in, out)) --- 266,272 ----- abort (); inmode = GET_MODE (in); } + #endif /* If IN appears in OUT, we can't share any input-only reload for IN. */ if (in != 0 && out != 0 && reg_mentioned_p (in, out))