diff options
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 34 |
1 files changed, 5 insertions, 29 deletions
diff --git a/gcc/function.c b/gcc/function.c index 56f9865..197c393 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -234,60 +234,36 @@ find_function_data (tree decl) } /* Save the current context for compilation of a nested function. - This is called from language-specific code. The caller should use - the enter_nested langhook to save any language-specific state, - since this function knows only about language-independent - variables. */ + This is called from language-specific code. */ void -push_function_context_to (tree context ATTRIBUTE_UNUSED) +push_function_context (void) { - struct function *p; - if (cfun == 0) allocate_struct_function (NULL, false); - p = cfun; - - p->outer = outer_function_chain; - outer_function_chain = p; - - lang_hooks.function.enter_nested (p); + cfun->outer = outer_function_chain; + outer_function_chain = cfun; set_cfun (NULL); } -void -push_function_context (void) -{ - push_function_context_to (current_function_decl); -} - /* Restore the last saved context, at the end of a nested function. This function is called from language-specific code. */ void -pop_function_context_from (tree context ATTRIBUTE_UNUSED) +pop_function_context (void) { struct function *p = outer_function_chain; set_cfun (p); outer_function_chain = p->outer; - current_function_decl = p->decl; - lang_hooks.function.leave_nested (p); - /* Reset variables that have known state during rtx generation. */ virtuals_instantiated = 0; generating_concat_p = 1; } -void -pop_function_context (void) -{ - pop_function_context_from (current_function_decl); -} - /* Clear out all parts of the state in F that can safely be discarded after the function has been parsed, but not compiled, to let garbage collection reclaim the memory. */ |