c/7872: [m68k]ICE on legal code, regression from 3.0 and 2.9*
wilson@gcc.gnu.org
wilson@gcc.gnu.org
Fri Feb 28 04:27:00 GMT 2003
Synopsis: [m68k]ICE on legal code, regression from 3.0 and 2.9*
Responsible-Changed-From-To: unassigned->wilson
Responsible-Changed-By: wilson
Responsible-Changed-When: Fri Feb 28 04:27:21 2003
Responsible-Changed-Why:
For state changes.
State-Changed-From-To: feedback->analyzed
State-Changed-By: wilson
State-Changed-When: Fri Feb 28 04:27:21 2003
State-Changed-Why:
add_equal_note has
&& (GET_CODE (SET_DEST (set)) != STRICT_LOW_PART
|| ! rtx_equal_p (SUBREG_REG (XEXP (SET_DEST (set), 0)),
which is obviously wrong, since it is trying to go two levels into the RTL, but there is only one level. This has apparently been broken ever since the code was originally written in 1991. It is broken in gcc-2.0, and the first ChangeLog entry before that is the one that adds the function. I have a trivial patch for it which I am about to test.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7872
More information about the Gcc-bugs
mailing list