Problem compiling libg++ on mips-sgi-irix6

Richard Henderson rth@cygnus.com
Tue Jan 12 14:03:00 GMT 1999


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~



More information about the Gcc-patches mailing list