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
This commit is contained in:
Richard Henderson 1999-09-09 20:16:49 -07:00 committed by Richard Henderson
parent f74c0f9107
commit f4e5c65b06
2 changed files with 14 additions and 0 deletions

View File

@ -1,3 +1,8 @@
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>
* i386.c (override_options): Remove ppro, pentium2, and p2 as aliases.

View File

@ -6928,9 +6928,18 @@ finish_function (nested)
/* So we can tell if jump_optimize sets it to 1. */
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. */
rest_of_compilation (fndecl);
/* Undo the GC context switch. */
if (ggc_p && nested)
ggc_pop_context ();
current_function_returns_null |= can_reach_end;
if (warn_missing_noreturn