OSDN Git Service

* cp-tree.h (language_function): Remove x_last_dtor_insn and
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 9 Nov 1999 08:15:07 +0000 (08:15 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 9 Nov 1999 08:15:07 +0000 (08:15 +0000)
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
gcc/cp/cp-tree.h
gcc/cp/decl.c

index 24ef9a4..e1b34f8 100644 (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
index d362b41..eba8e02 100644 (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;
index e7a10b4..adae9a6 100644 (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;
 }
 \f
-/* 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);