Commit e97b2a1c by Jim Wilson

(make_node): Put PARM_DECLs of nested functions onto

parent's saveable obstack.

From-SVN: r5299
parent b8579719
......@@ -796,7 +796,22 @@ make_node (code)
even though we may make them before the function turns
on temporary allocation. */
else if (code == PARM_DECL)
obstack = function_maybepermanent_obstack;
{
tree context = 0;
if (current_function_decl)
context = decl_function_context (current_function_decl);
/* If this is a nested function, then we must allocate the PARM_DECL
on the parent's saveable_obstack, so that they will live to the
end of the parent's closing brace. This is neccesary in case we
try to inline the function into its parent. */
if (context)
{
struct function *p = find_function_data (context);
obstack = p->function_maybepermanent_obstack;
}
else
obstack = function_maybepermanent_obstack;
}
break;
case 't': /* a type node */
......
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