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: Problem compiling libg++ on mips-sgi-irix6


On Tue, Jan 12, 1999 at 01:17:20PM -0800, Jim Wilson wrote:
> In the structure_value_addr case, the caller passes in an address where the
> callee stores the result.

The problem was that this wasn't supposed to be a structure_value_addr 
case, and so we aborted.

> In any other case, copying a value into the result before the function
> start is not useful, but this is what your patch does.

Ah, this is all happening before function start?  In which case
target should just continue to be the (mem (addressof)) probably.
I.e.

      if (GET_CODE (XEXP (loc, 0)) == ADDRESSOF)
        {
          temp = copy_rtx_and_substitute (loc, map);
          subst_constants (&temp, NULL_RTX, map);
          apply_change_group ();
-
-         if (! ignore)
-           {
-             if (! target)
-               target = gen_reg_rtx (GET_MODE (temp));
-             emit_move_insn (temp, target);
-           }
+         target = temp;
        }
      else


r~


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