aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gnu.org>2008-04-04 14:57:18 +0000
committerPaolo Bonzini <bonzini@gcc.gnu.org>2008-04-04 14:57:18 +0000
commite892493899b225a21746d24221d7dc45fc19fed2 (patch)
tree4d59bdfcd5fb25b6d8efd2449db7fba8e15351f1 /gcc/function.c
parent05008a0c3c6826ee6bc4b5d0368c068af1509d58 (diff)
downloadgcc-e892493899b225a21746d24221d7dc45fc19fed2.zip
gcc-e892493899b225a21746d24221d7dc45fc19fed2.tar.gz
gcc-e892493899b225a21746d24221d7dc45fc19fed2.tar.bz2
function.c (free_after_parsing): Replace with cxx_push_function_context from C++ front-end.
2008-04-03 Paolo Bonzini <bonzini@gnu.org> * function.c (free_after_parsing): Replace with cxx_push_function_context from C++ front-end. (allocate_struct_function): Don't call langhook. * langhooks.h (struct lang_hooks_for_functions): Delete. (struct lang_hooks): Add back missing_noreturn_ok_p here, delete member "function". * langhooks-def.h (LANG_HOOKS_MISSING_NORETURN_OK_P): Add. (LANG_HOOKS_FUNCTION_INIT, LANG_HOOKS_FUNCTION_FINAL, LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P, LANG_HOOKS_FUNCTION_INITIALIZER): Delete. (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_MISSING_NORETURN_OK_P, remove LANG_HOOKS_FUNCTION_INITIALIZER. * tree-cfg.c: Adjust call to missing_noreturn_ok_p langhook. * c-objc-common.h (LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P): Rename to LANG_HOOKS_MISSING_NORETURN_OK_P. cp: 2008-04-03 Paolo Bonzini <bonzini@gnu.org> * decl.c (cxx_push_function_context): Delete. (cxx_pop_function_context): Delete. (start_preparsed_function): Merge cxx_push_function_context (!f->decl code only). * cp-objcp-common.h (LANG_HOOKS_FUNCTION_INIT, LANG_HOOKS_FUNCTION_FINAL): Delete. (LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P): Rename to LANG_HOOKS_MISSING_NORETURN_OK_P. * cp-tree.h (cxx_push_function_context, cxx_pop_function_context): Delete prototype. * semantics.c (current_stmt_tree): Fix comment. From-SVN: r133900
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 197c393..240a3e7 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -271,12 +271,7 @@ pop_function_context (void)
void
free_after_parsing (struct function *f)
{
- /* f->expr->forced_labels is used by code generation. */
- /* f->emit->regno_reg_rtx is used by code generation. */
- /* f->varasm is used by code generation. */
- /* f->eh->eh_return_stub_label is used by code generation. */
-
- lang_hooks.function.final (f);
+ f->language = 0;
}
/* Clear out all parts of the state in F that can safely be discarded
@@ -3861,7 +3856,6 @@ allocate_struct_function (tree fndecl, bool abstract_p)
init_eh_for_function ();
- lang_hooks.function.init (cfun);
if (init_machine_status)
cfun->machine = (*init_machine_status) ();