82d351a634
* 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. From-SVN: r47988 |
||
---|---|---|
.. | ||
abi | ||
eh | ||
ext | ||
inherit | ||
init | ||
lookup | ||
opt | ||
other | ||
overload | ||
parse | ||
special | ||
template | ||
warn | ||
dg.exp | ||
README | ||
ref1.C | ||
sizeof1.C |
Subdirectories: abi Tests for ABI compatibility -- mangling, object layout, etc. eh Tests for exception handling. ext Tests for GNU language extensions. inherit Tests for inheritance -- virtual functions, multiple inheritance, etc. init Tests for initialization semantics, constructors/destructors, etc. lookup Tests for lookup semantics, namespaces, using, etc. overload Tests for overload resolution and conversions. parse Tests for parsing. rtti Tests for run-time type identification (typeid, dynamic_cast, etc.) template Tests for templates. warn Tests for compiler warnings. other Tests that don't fit into one of the other categories. special Tests that need custom expect code to run them; see special/ecos.exp for an example.