abort in eliminate_regs compiling glob.c from glibc

Richard Henderson rth@redhat.com
Sat, 27 Jan 2001 12:12:46 -0800


On Tue, Nov 14, 2000 at 04:40:52PM -0500, John David Anglin wrote:
>      case USE:
> +      /* Handle insn_list USE that a call to a pure functions ...
> +      new = eliminate_regs (XEXP (x, 0), 0, insn);
> +      if (GET_CODE (new) == MEM)
> +	return XEXP (new, 0);

This is not correct.  You want to return something that still
looks like a USE.  Probably you want

	new = eliminate_regs (XEXP (x, 0), 0, insn);
	if (new != XEXP (x, 0))
	  return gen_rtx_USE (GET_MODE (x), new);
	return x;


r~