Commit 8ef63e62 by Richard Stallman

*** empty log message ***

From-SVN: r1527
parent cb712ad4
...@@ -1615,11 +1615,12 @@ expand_inline_function (fndecl, parms, target, ignore, type, structure_value_add ...@@ -1615,11 +1615,12 @@ expand_inline_function (fndecl, parms, target, ignore, type, structure_value_add
in SAVE_EXPRs for TYPE_SIZEs as local. */ in SAVE_EXPRs for TYPE_SIZEs as local. */
inline_function_decl = fndecl; inline_function_decl = fndecl;
integrate_decl_tree ((tree) ORIGINAL_DECL_INITIAL (header), 0, map, 0);
integrate_parm_decls (DECL_ARGUMENTS (fndecl), map, arg_vector); integrate_parm_decls (DECL_ARGUMENTS (fndecl), map, arg_vector);
integrate_decl_tree ((tree) ORIGINAL_DECL_INITIAL (header), 0, map);
inline_function_decl = 0; inline_function_decl = 0;
/* End the scope containing the copied formal parameter variables. */ /* End the scope containing the copied formal parameter variables
and copied LABEL_DECLs. */
expand_end_bindings (getdecls (), 1, 1); expand_end_bindings (getdecls (), 1, 1);
poplevel (1, 1, 0); poplevel (1, 1, 0);
...@@ -1670,25 +1671,21 @@ integrate_parm_decls (args, map, arg_vector) ...@@ -1670,25 +1671,21 @@ integrate_parm_decls (args, map, arg_vector)
current function a tree of contexts isomorphic to the one that is given. current function a tree of contexts isomorphic to the one that is given.
LEVEL indicates how far down into the BLOCK tree is the node we are LEVEL indicates how far down into the BLOCK tree is the node we are
currently traversing. It is always zero for the initial call. currently traversing. It is always zero except for recursive calls.
MAP, if nonzero, is a pointer to a inline_remap map which indicates how MAP, if nonzero, is a pointer to a inline_remap map which indicates how
registers used in the DECL_RTL field should be remapped. If it is zero, registers used in the DECL_RTL field should be remapped. If it is zero,
no mapping is necessary. no mapping is necessary. */
FUNCTIONBODY indicates whether the top level block tree corresponds to
a function body. This is identical in meaning to the functionbody
argument of poplevel. */
static void static void
integrate_decl_tree (let, level, map, functionbody) integrate_decl_tree (let, level, map)
tree let; tree let;
int level; int level;
struct inline_remap *map; struct inline_remap *map;
int functionbody;
{ {
tree t, node; tree t, node;
if (level > 0)
pushlevel (0); pushlevel (0);
for (t = BLOCK_VARS (let); t; t = TREE_CHAIN (t)) for (t = BLOCK_VARS (let); t; t = TREE_CHAIN (t))
...@@ -1696,7 +1693,7 @@ integrate_decl_tree (let, level, map, functionbody) ...@@ -1696,7 +1693,7 @@ integrate_decl_tree (let, level, map, functionbody)
tree d = build_decl (TREE_CODE (t), DECL_NAME (t), TREE_TYPE (t)); tree d = build_decl (TREE_CODE (t), DECL_NAME (t), TREE_TYPE (t));
DECL_SOURCE_LINE (d) = DECL_SOURCE_LINE (t); DECL_SOURCE_LINE (d) = DECL_SOURCE_LINE (t);
DECL_SOURCE_FILE (d) = DECL_SOURCE_FILE (t); DECL_SOURCE_FILE (d) = DECL_SOURCE_FILE (t);
if (! functionbody && DECL_RTL (t) != 0) if (DECL_RTL (t) != 0)
{ {
DECL_RTL (d) = copy_rtx_and_substitute (DECL_RTL (t), map); DECL_RTL (d) = copy_rtx_and_substitute (DECL_RTL (t), map);
/* Fully instantiate the address with the equivalent form so that the /* Fully instantiate the address with the equivalent form so that the
...@@ -1723,11 +1720,14 @@ integrate_decl_tree (let, level, map, functionbody) ...@@ -1723,11 +1720,14 @@ integrate_decl_tree (let, level, map, functionbody)
} }
for (t = BLOCK_SUBBLOCKS (let); t; t = TREE_CHAIN (t)) for (t = BLOCK_SUBBLOCKS (let); t; t = TREE_CHAIN (t))
integrate_decl_tree (t, level + 1, map, functionbody); integrate_decl_tree (t, level + 1, map);
node = poplevel (level > 0, 0, level == 0 && functionbody); if (level > 0)
{
node = poplevel (1, 0, 0);
if (node) if (node)
TREE_USED (node) = TREE_USED (let); TREE_USED (node) = TREE_USED (let);
}
} }
/* Create a new copy of an rtx. /* Create a new copy of an rtx.
......
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