From: Jan Hubicka Date: Fri, 3 Sep 2004 20:37:03 +0000 (+0200) Subject: * decl.c (finish_function): Clean out pointers we no longer need. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=37e6d6fe839adecbfc5ffeeeb32bd230a3701550;p=gcc.git * decl.c (finish_function): Clean out pointers we no longer need. From-SVN: r87055 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 4dafed925b7..4e25f69c98d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2004-09-03 Jan Hubicka + + * decl.c (finish_function): Clean out pointers we no longer need. + 2004-09-03 Jan Beulich * g++spec.c (MATH_LIBRARY_PROFILE): Default to MATH_LIBRARY rather diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 55db551001b..1aed934a3e5 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -10451,11 +10451,23 @@ finish_function (int flags) /* Genericize before inlining. */ if (!processing_template_decl) { + struct language_function *f = DECL_SAVED_FUNCTION_DATA (fndecl); cp_genericize (fndecl); + /* Clear out the bits we don't need. */ + f->x_current_class_ptr = NULL; + f->x_current_class_ref = NULL; + f->x_eh_spec_block = NULL; + f->x_in_charge_parm = NULL; + f->x_vtt_parm = NULL; + f->x_return_value = NULL; + f->bindings = NULL; /* Handle attribute((warn_unused_result)). Relies on gimple input. */ c_warn_unused_result (&DECL_SAVED_TREE (fndecl)); } + /* Clear out the bits we don't need. */ + local_names = NULL; + named_label_uses = NULL; /* We're leaving the context of this function, so zap cfun. It's still in DECL_STRUCT_FUNCTION, and we'll restore it in tree_rest_of_compilation. */