c++/8461
jason@gcc.gnu.org
jason@gcc.gnu.org
Sat Dec 14 09:16:00 GMT 2002
The following reply was made to PR c++/8461; it has been noted by GNATS.
From: jason@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:
Subject: c++/8461
Date: 14 Dec 2002 17:11:31 -0000
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-prs
mailing list