diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-23 14:44:21 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-23 14:44:21 +0000 |
commit | ea523851e65ca645bcddff0657ed711cd846f9e6 (patch) | |
tree | 672b804a497a6d4d52b747f00969c6d7b30ebbfb /libjava/testsuite/libjava.compile | |
parent | 44cb69ffb21cd8ef9163ffbc022ec4195f6201d9 (diff) | |
download | ppe42-gcc-ea523851e65ca645bcddff0657ed711cd846f9e6.tar.gz ppe42-gcc-ea523851e65ca645bcddff0657ed711cd846f9e6.zip |
PR c++/19317
Leave the return slot target in the MODIFY_EXPR rather than making
it an argument, but only use it if the CALL_EXPR has a flag set.
* tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): Rename to
CALL_EXPR_RETURN_SLOT_OPT.
* calls.c (expand_call): Adjust.
* tree-inline.c (expand_call_inline): Adjust.
* tree-pretty-print.c (dump_generic_node): Adjust.
And set the flag as appropriate.
* gimplify.c (gimplify_modify_expr_rhs): Set
CALL_EXPR_HAS_RETURN_SLOT_ADDR where the LHS is obviously safe.
* tree-nrv.c (execute_return_slot_opt): Set
CALL_EXPR_HAS_RETURN_SLOT_ADDR based on escape analysis.
* tree-pass.h: Declare pass_return_slot.
* tree-optimize.c (init_tree_optimization_passes): Add it.
* cp/semantics.c (simplify_aggr_init_expr): Use
CALL_EXPR_RETURN_SLOT_OPT, not CALL_EXPR_HAS_RETURN_SLOT_ADDR.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101269 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/testsuite/libjava.compile')
0 files changed, 0 insertions, 0 deletions