Commit f4e5c65b by Richard Henderson Committed by Richard Henderson

c-decl.c (finish_function): When processing a nested function...

        * c-decl.c (finish_function): When processing a nested function,
        push and pop GC context around rest_of_compilation.

From-SVN: r29255
parent f74c0f91
Thu Sep 9 20:15:46 1999 Richard Henderson <rth@cygnus.com>
* c-decl.c (finish_function): When processing a nested function,
push and pop GC context around rest_of_compilation.
Thu Sep 9 16:42:06 1999 Richard Henderson <rth@cygnus.com> Thu Sep 9 16:42:06 1999 Richard Henderson <rth@cygnus.com>
* i386.c (override_options): Remove ppro, pentium2, and p2 as aliases. * i386.c (override_options): Remove ppro, pentium2, and p2 as aliases.
......
...@@ -6928,9 +6928,18 @@ finish_function (nested) ...@@ -6928,9 +6928,18 @@ finish_function (nested)
/* So we can tell if jump_optimize sets it to 1. */ /* So we can tell if jump_optimize sets it to 1. */
can_reach_end = 0; can_reach_end = 0;
/* If this is a nested function, protect the local variables in the stack
above us from being collected while we're compiling this function. */
if (ggc_p && nested)
ggc_push_context ();
/* Run the optimizers and output the assembler code for this function. */ /* Run the optimizers and output the assembler code for this function. */
rest_of_compilation (fndecl); rest_of_compilation (fndecl);
/* Undo the GC context switch. */
if (ggc_p && nested)
ggc_pop_context ();
current_function_returns_null |= can_reach_end; current_function_returns_null |= can_reach_end;
if (warn_missing_noreturn if (warn_missing_noreturn
......
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