gcc/gcc ChangeLog calls.c explow.c expr.c inte ...

jason@gcc.gnu.org jason@gcc.gnu.org
Sat Dec 14 09:11:00 GMT 2002


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	tree-ssa-20020619-branch
Changes by:	jason@gcc.gnu.org	2002-12-14 09:11:31

Modified files:
	gcc            : ChangeLog calls.c explow.c expr.c integrate.c 
	                 langhooks-def.h langhooks.c langhooks.h 
	                 old-tree-inline.c tree-inline.c tree.h 
	gcc/cp         : ChangeLog call.c cp-lang.c cp-simplify.c 
	                 cp-tree.h except.c tree.c 

Log message:
	* tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
	* calls.c (expand_call): Handle it.
	* tree-inline.c (struct inline_data): Remove target_exprs field.
	(optimize_inline_calls): Don't initialize it.
	(expand_call_inline): Don't modify it.  Handle
	CALL_EXPR_HAS_RETURN_SLOT_ADDR.
	(declare_return_variable): Take return slot addr.
	* langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
	to return_slot_addr.
	* langhooks-def.h, langhooks.c: Adjust.
	* explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
	a decl with no DECL_INITIAL.
	
	* expr.c (expand_expr): Don't discard the target of a call which
	returns in memory.
	
	PR c++/8461, c++/8625
	* integrate.c (copy_decl_for_inlining): Handle explicit invisible
	references.
	* tree-inline.c (initialize_inlined_parameters): Likewise.
	
	cp/
	* semantics.c (simplify_aggr_init_exprs_r): Also prepend the
	return slot for normal functions.  Set CALL_EXPR_HAS_RETURN_SLOT_ADDR.
	* tree.c (build_cplus_new): If the type isn't TREE_ADDRESSABLE,
	don't bother with an AGGR_INIT_EXPR.
	(cp_copy_res_decl_for_inlining): If the type isn't TREE_ADDRESSABLE,
	just generate a new decl normally.  Take return slot parm.
	* cp-tree.h: Adjust prototype.
	
	PR c++/8461, c++/8625
	* call.c (convert_for_arg_passing): Don't mess with error_mark_node.
	(cp_convert_parm_for_inlining): Remove.
	* cp-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
	Remove.
	* cp-tree.h (ADDR_IS_INVISIREF): Remove.
	* except.c (stabilize_throw_expr): Remove ADDR_IS_INVISIREF code.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.14646.2.40&r2=1.14646.2.41
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/calls.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.229.2.11&r2=1.229.2.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/explow.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.94.2.10&r2=1.94.2.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.467.2.17&r2=1.467.2.18
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/integrate.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.197.2.8&r2=1.197.2.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/langhooks-def.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.34.2.8&r2=1.34.2.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/langhooks.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.31.2.7&r2=1.31.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/langhooks.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.42.2.9&r2=1.42.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/old-tree-inline.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.5&r2=1.1.4.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-inline.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.26.2.13&r2=1.26.2.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.342.2.31&r2=1.342.2.32
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.2849.2.22&r2=1.2849.2.23
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/call.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.320.2.13&r2=1.320.2.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-lang.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.36.2.10&r2=1.36.2.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-simplify.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.6&r2=1.1.4.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.719.2.19&r2=1.719.2.20
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/except.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.142.2.5&r2=1.142.2.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/tree.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.286.2.17&r2=1.286.2.18



More information about the Gcc-cvs mailing list