gcc/gcc/testsuite/g++.dg/eh dtor1.C

jason@gcc.gnu.org jason@gcc.gnu.org
Thu Dec 13 19:08:00 GMT 2001


CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	jason@gcc.gnu.org	2001-12-13 19:08:50

Added files:
	gcc/testsuite/g++.dg/eh: dtor1.C 

Log message:
	* 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.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/eh/dtor1.C.diff?cvsroot=gcc&r1=NONE&r2=1.1



More information about the Gcc-cvs mailing list