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

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


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-basic-improvements-branch
Changes by:	jason@gcc.gnu.org	2002-12-14 00:55:37

Modified files:
	gcc            : ChangeLog calls.c explow.c expr.c 
	                 langhooks-def.h langhooks.c langhooks.h 
	                 tree-inline.c tree.h 
	gcc/cp         : ChangeLog cp-tree.h semantics.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.
	
	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.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-basic-improvements-branch&r1=1.15234.2.151&r2=1.15234.2.152
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/calls.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-basic-improvements-branch&r1=1.231.4.14&r2=1.231.4.15
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/explow.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-basic-improvements-branch&r1=1.101.4.4&r2=1.101.4.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-basic-improvements-branch&r1=1.478.4.12&r2=1.478.4.13
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/langhooks-def.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-basic-improvements-branch&r1=1.37.2.2&r2=1.37.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/langhooks.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-basic-improvements-branch&r1=1.33.2.2&r2=1.33.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/langhooks.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-basic-improvements-branch&r1=1.45.2.3&r2=1.45.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-inline.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-basic-improvements-branch&r1=1.28.4.8&r2=1.28.4.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-basic-improvements-branch&r1=1.349.4.13&r2=1.349.4.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-basic-improvements-branch&r1=1.2940.4.18&r2=1.2940.4.19
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-basic-improvements-branch&r1=1.744.4.13&r2=1.744.4.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/semantics.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-basic-improvements-branch&r1=1.274.4.9&r2=1.274.4.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/tree.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-basic-improvements-branch&r1=1.295.4.7&r2=1.295.4.8



More information about the Gcc-cvs mailing list