function.c (expand_function_start): Handle DECL_BY_REFERENCE on the RESULT_DECL.

* function.c (expand_function_start): Handle DECL_BY_REFERENCE on
        the RESULT_DECL.

From-SVN: r85763
This commit is contained in:
Jason Merrill 2004-08-10 14:02:18 -04:00 committed by Jason Merrill
parent b2ddaebb2d
commit 01c9857000
2 changed files with 11 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2004-08-10 Jason Merrill <jason@redhat.com>
* function.c (expand_function_start): Handle DECL_BY_REFERENCE on
the RESULT_DECL.
2004-08-10 Geoffrey Keating <geoffk@apple.com>
* tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the

View File

@ -4005,8 +4005,12 @@ expand_function_start (tree subr)
}
if (value_address)
{
rtx x = gen_rtx_MEM (DECL_MODE (DECL_RESULT (subr)), value_address);
set_mem_attributes (x, DECL_RESULT (subr), 1);
rtx x = value_address;
if (!DECL_BY_REFERENCE (DECL_RESULT (subr)))
{
x = gen_rtx_MEM (DECL_MODE (DECL_RESULT (subr)), x);
set_mem_attributes (x, DECL_RESULT (subr), 1);
}
SET_DECL_RTL (DECL_RESULT (subr), x);
}
}