aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-11-09 08:15:07 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-11-09 08:15:07 +0000
commit3e4010c4d872cd1a886b142b790f35df0a8053c2 (patch)
tree4bd0c8b8cd44f4cee03af18fc6c62813f1cfe537 /gcc
parentfe1b3b96aef55da97eda079a69381860ee764c3b (diff)
downloadgcc-3e4010c4d872cd1a886b142b790f35df0a8053c2.zip
gcc-3e4010c4d872cd1a886b142b790f35df0a8053c2.tar.gz
gcc-3e4010c4d872cd1a886b142b790f35df0a8053c2.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog11
-rw-r--r--gcc/cp/cp-tree.h2
-rw-r--r--gcc/cp/decl.c24
3 files changed, 12 insertions, 25 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 24ef9a4..e1b34f8 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -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
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index d362b41..eba8e02 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 e7a10b4..adae9a6 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);