diff options
| author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-12-14 03:08:50 +0000 |
|---|---|---|
| committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-12-14 03:08:50 +0000 |
| commit | 9ae63bf8715b5ad969cb26a6869e0dcfe76a1cc7 (patch) | |
| tree | d329a000e74c33201df51391bd18def45b7ef6c2 /libjava/gnu/java | |
| parent | 526162631e64deaa965115daf575798cd0228336 (diff) | |
| download | ppe42-gcc-9ae63bf8715b5ad969cb26a6869e0dcfe76a1cc7.tar.gz ppe42-gcc-9ae63bf8715b5ad969cb26a6869e0dcfe76a1cc7.zip | |
* c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
Use cleanups to run base and member destructors.
* init.c (push_base_cleanups): New function, split out from...
(build_delete): ...here. Lose !TYPE_HAS_DESTRUCTOR code.
* decl.c (finish_destructor_body): Move vbase destruction code to
push_base_cleanups.
(begin_function_body, finish_function_body): New fns.
(finish_function): Move [cd]tor handling and call_poplevel to
finish_function_body.
(pushdecl): Skip the new level.
* semantics.c (genrtl_try_block): Don't call end_protect_partials.
(setup_vtbl_ptr): Call push_base_cleanups.
* method.c (synthesize_method): Call {begin,end}_function_body.
* pt.c (tsubst_expr): Handle COMPOUND_STMT_BODY_BLOCK.
* cp-tree.h: Declare new fns.
* parse.y (function_body, .begin_function_body): New nonterminals.
(fndef, pending_inline, function_try_block): Use function_body.
(ctor_initializer_opt, function_try_block): No longer has a value.
(base_init): Remove .set_base_init token.
(.set_base_init, compstmt_or_error): Remove.
* Make-lang.in (parse.c): Expect two fewer s/r conflicts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47988 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu/java')
0 files changed, 0 insertions, 0 deletions

