aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c34
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. */