Commit 637c5064 by Richard Stallman

(expand_inline_function): Use the original declaration of the inlined function...

(expand_inline_function): Use the original declaration of the inlined
function rather than a redeclaration as the BLOCK_ABSTRACT_ORIGIN of the body.

From-SVN: r2774
parent 4135e766
...@@ -1718,7 +1718,8 @@ expand_inline_function (fndecl, parms, target, ignore, type, structure_value_add ...@@ -1718,7 +1718,8 @@ expand_inline_function (fndecl, parms, target, ignore, type, structure_value_add
expand_end_bindings (getdecls (), 1, 1); expand_end_bindings (getdecls (), 1, 1);
block = poplevel (1, 1, 0); block = poplevel (1, 1, 0);
BLOCK_ABSTRACT_ORIGIN (block) = fndecl; BLOCK_ABSTRACT_ORIGIN (block) = (DECL_ABSTRACT_ORIGIN (fndecl) == NULL
? fndecl : DECL_ABSTRACT_ORIGIN (fndecl));
poplevel (0, 0, 0); poplevel (0, 0, 0);
emit_line_note (input_filename, lineno); emit_line_note (input_filename, lineno);
...@@ -2321,8 +2322,12 @@ subst_constants (loc, insn, map) ...@@ -2321,8 +2322,12 @@ subst_constants (loc, insn, map)
} }
case SUBREG: case SUBREG:
/* SUBREG is ordinary, but don't make nested SUBREGs and try to simplify /* SUBREG applied to something other than a reg
constants. */ should be treated as ordinary, since that must
be a special hack and we don't know how to treat it specially.
Consider for example mulsidi3 in m68k.md.
Ordinary SUBREG of a REG needs this special treatment. */
if (GET_CODE (SUBREG_REG (x)) == REG)
{ {
rtx inner = SUBREG_REG (x); rtx inner = SUBREG_REG (x);
rtx new = 0; rtx new = 0;
...@@ -2348,6 +2353,7 @@ subst_constants (loc, insn, map) ...@@ -2348,6 +2353,7 @@ subst_constants (loc, insn, map)
return; return;
} }
break;
case MEM: case MEM:
subst_constants (&XEXP (x, 0), insn, map); subst_constants (&XEXP (x, 0), insn, map);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment