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))