cp-tree.h (language_function): Remove x_last_dtor_insn and x_last_parm_cleanup_insn.

* 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.

From-SVN: r30457
This commit is contained in:
Mark Mitchell 1999-11-09 08:15:07 +00:00 committed by Mark Mitchell
parent fe1b3b96ae
commit 3e4010c4d8
3 changed files with 12 additions and 25 deletions

View File

@ -1,3 +1,14 @@
1999-11-09 Mark Mitchell <mark@codesourcery.com>
* 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 <mark@codesourcery.com>
* decl.c (store_parm_decls): Generate cleanup code at

View File

@ -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;

View File

@ -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);