This is the mail archive of the
mailing list for the GCC project.
Re: Results for 3.4-bi 20021213 (experimental) testsuite on
- From: Zack Weinberg <zack at codesourcery dot com>
- To: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Cc: nathan at codesourcery dot com, gcc-testresults at gcc dot gnu dot org
- Date: Sun, 15 Dec 2002 15:16:06 -0800
- Subject: Re: Results for 3.4-bi 20021213 (experimental) testsuite on
- References: <200212152246.gBFMkRtn003377@hiauly1.hia.nrc.ca>
"John David Anglin" <firstname.lastname@example.org> writes:
> Not much difference. I started looking at the failure of
> g++.jason/thunk1.C (random selection) as I suspected there might
> have been some change to thunks. However, that doesn't seem to
> be the problem. It seems that the struct value register (%r28) is not
> being passed anymore, or the instruction that passes it was deleted.
> I haven't looked at the rtl yet.
> Do you recall any changes that might have affected this?
I don't *recall* any such changes, but this looks suspicious:
date: 2002/12/14 08:55:32; author: jason; state: Exp; lines: +4 -1
* 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
(declare_return_variable): Take return slot addr.
* langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
* 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.
* 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.