This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gcc/gcc ChangeLog except.c except.h expr.c tre ...


CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	jason@gcc.gnu.org	2002-04-03 16:11:01

Modified files:
	gcc            : ChangeLog except.c except.h expr.c tree.h 
	                 stmt.c c-semantics.c c-common.h 
	gcc/cp         : semantics.c ChangeLog cp-tree.h cp-tree.def 
	                 init.c decl.c dump.c pt.c tree.c 
Added files:
	gcc/testsuite/g++.dg/eh: nrv1.C 

Log message:
	PR c++/5636
	* tree.h (CLEANUP_EH_ONLY): New macro.
	* stmt.c (expand_decl_cleanup_eh): New fn.
	(expand_cleanups): Check CLEANUP_EH_ONLY.
	* c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
	Use expand_decl_cleanup_eh.
	(expand_stmt): Adjust.
	* c-common.h: Adjust prototype.
	* cp/semantics.c (nullify_returns_r): Just set CLEANUP_EH_ONLY on
	cleanup for nrv.
	
	* except.c (struct eh_status): Remove protect_list.
	(begin_protect_partials, end_protect_partials): Remove.
	(add_partial_entry): Remove.
	* except.h: Remove prototypes.
	
	* expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
	expand_decl_cleanup_eh.
	
	cp/:
	* semantics.c (finish_eh_cleanup): New fn.
	* cp-tree.h: Add prototype.
	* init.c (perform_member_init, expand_cleanup_for_base): Use
	finish_eh_cleanup.
	* cp-tree.def (SUBOBJECT, CTOR_STMT): Remove.
	* cp-tree.h: Remove references.
	* decl.c (begin_constructor_body, end_constructor_body): Likewise.
	* dump.c (cp_dump_tree): Likewise.
	* pt.c (tsubst_expr): Likewise.
	* semantics.c (genrtl_ctor_stmt, genrtl_subobject): Remove.
	(cp_expand_stmt): Remove handling of CTOR_STMT and SUBOBJECT.
	* tree.c (cp_statement_code_p): Likewise.
	
	* init.c (build_new_1): Set CLEANUP_EH_ONLY on deleting cleanup.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.13629&r2=1.13630
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/except.c.diff?cvsroot=gcc&r1=1.215&r2=1.216
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/except.h.diff?cvsroot=gcc&r1=1.62&r2=1.63
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.c.diff?cvsroot=gcc&r1=1.442&r2=1.443
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gcc&r1=1.325&r2=1.326
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/stmt.c.diff?cvsroot=gcc&r1=1.256&r2=1.257
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-semantics.c.diff?cvsroot=gcc&r1=1.41&r2=1.42
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.h.diff?cvsroot=gcc&r1=1.125&r2=1.126
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/semantics.c.diff?cvsroot=gcc&r1=1.256&r2=1.257
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.2755&r2=1.2756
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&r1=1.702&r2=1.703
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.def.diff?cvsroot=gcc&r1=1.62&r2=1.63
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/init.c.diff?cvsroot=gcc&r1=1.272&r2=1.273
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&r1=1.889&r2=1.890
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/dump.c.diff?cvsroot=gcc&r1=1.61&r2=1.62
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&r1=1.582&r2=1.583
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/tree.c.diff?cvsroot=gcc&r1=1.277&r2=1.278
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/eh/nrv1.C.diff?cvsroot=gcc&r1=NONE&r2=1.1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]