From e6d50386dfda197233ceae4caf4583e3a8284df7 Mon Sep 17 00:00:00 2001 From: mmitchel Date: Tue, 9 Nov 1999 08:15:07 +0000 Subject: [PATCH] * cp-tree.h (language_function): Remove x_last_dtor_insn and x_last_parm_cleanup_insn. * decl.c (last_dtor_insn): Remove. (last_parm_cleanup_insn): Likewise. (expand_start_early_try_stmts): Don't set them. (store_parm_decls): Likewise. (save_function_data): Or save them. (mark_lang_function): Or mark them. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30457 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/cp/ChangeLog | 11 +++++++++++ gcc/cp/cp-tree.h | 2 -- gcc/cp/decl.c | 24 +----------------------- 3 files changed, 12 insertions(+), 25 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 24ef9a45aab..e1b34f82f17 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,14 @@ +1999-11-09 Mark Mitchell + + * cp-tree.h (language_function): Remove x_last_dtor_insn and + x_last_parm_cleanup_insn. + * decl.c (last_dtor_insn): Remove. + (last_parm_cleanup_insn): Likewise. + (expand_start_early_try_stmts): Don't set them. + (store_parm_decls): Likewise. + (save_function_data): Or save them. + (mark_lang_function): Or mark them. + 1999-11-08 Mark Mitchell * decl.c (store_parm_decls): Generate cleanup code at diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index d362b41fc37..eba8e026ace 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -679,8 +679,6 @@ struct language_function tree *x_vcalls_possible_p; - struct rtx_def *x_last_dtor_insn; - struct rtx_def *x_last_parm_cleanup_insn; struct rtx_def *x_result_rtx; int returns_value; diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index e7a10b42080..adae9a69693 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -254,18 +254,6 @@ int in_std; /* Expect only namespace names now. */ static int only_namespace_names; -/* In a destructor, the last insn emitted after the start of the - function and the parms. */ - -#define last_dtor_insn cp_function_chain->x_last_dtor_insn - -/* In a constructor, the last insn emitted after the start of the - function and the parms, the exception specification and any - function-try-block. The constructor initializers are emitted after - this insn. */ - -#define last_parm_cleanup_insn cp_function_chain->x_last_parm_cleanup_insn - /* If original DECL_RESULT of current function was a register, but due to being an addressable named return value, would up on the stack, this variable holds the named return value's @@ -13099,15 +13087,12 @@ start_function (declspecs, declarator, attrs, flags) return 1; } -/* Called after store_parm_decls for a function-try-block. We need to update - last_parm_cleanup_insn so that the base initializers for a constructor - are run within this block, not before it. */ +/* Called after store_parm_decls for a function-try-block. */ void expand_start_early_try_stmts () { expand_start_try_stmts (); - last_parm_cleanup_insn = get_last_insn (); } /* Store the parameter declarations into the current function declaration. @@ -13249,9 +13234,6 @@ store_parm_decls () && building_stmt_tree () && TYPE_RAISES_EXCEPTIONS (TREE_TYPE (current_function_decl))) current_eh_spec_try_block = expand_start_eh_spec (); - - last_parm_cleanup_insn = get_last_insn (); - last_dtor_insn = get_last_insn (); } /* Bind a name and initialization to the return value of @@ -13298,8 +13280,6 @@ save_function_data (decl) f->x_member_init_list = NULL_TREE; f->x_stmt_tree.x_last_stmt = NULL_TREE; f->x_stmt_tree.x_last_expr_type = NULL_TREE; - f->x_last_dtor_insn = NULL_RTX; - f->x_last_parm_cleanup_insn = NULL_RTX; f->x_result_rtx = NULL_RTX; f->x_named_label_uses = NULL; f->bindings = NULL; @@ -14233,8 +14213,6 @@ mark_lang_function (p) ggc_mark_tree (p->x_eh_spec_try_block); ggc_mark_tree (p->x_scope_stmt_stack); - ggc_mark_rtx (p->x_last_dtor_insn); - ggc_mark_rtx (p->x_last_parm_cleanup_insn); ggc_mark_rtx (p->x_result_rtx); mark_stmt_tree (&p->x_stmt_tree); -- 2.11.0