Make return in memory explicit.
authorJason Merrill <jason@redhat.com>
Sat, 7 Aug 2004 17:40:10 +0000 (13:40 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Sat, 7 Aug 2004 17:40:10 +0000 (13:40 -0400)
commitcc77ae108d3b8cf9aa8bbbeada6c0c1fbcf8920f
tree252b73c82d55d0b8da42cb892207cf89b9b2d1bc
parent0737fbff594ae45dc2e37dc2eff51601cdb99e1b
Make return in memory explicit.

        * function.c (aggregate_value_p): Check DECL_BY_REFERENCE.
        (assign_parm_find_data_types): Remove code for old front end
        invisible reference handling.
        (assign_parms): Handle DECL_BY_REFERENCE on the RESULT_DECL.
        (expand_function_end): Likewise.
        * gimplify.c (gimplify_return_expr): Handle a dereferenced
        RESULT_DECL.
        * tree-inline.c (copy_body_r): Don't bother looking for &* anymore.
        (declare_return_variable): Handle DECL_BY_REFERENCE.
        * cp/cp-gimplify.c (is_invisiref_parm): Also handle RESULT_DECL.
        (cp_genericize_r): Use convert_from_reference.
        Don't dereference a RESULT_DECL directly inside a RETURN_EXPR.
        (cp_genericize): Handle the RESULT_DECL.  Unset TREE_ADDRESSABLE.

From-SVN: r85675
gcc/ChangeLog
gcc/cp/cp-gimplify.c
gcc/function.c
gcc/gimplify.c
gcc/tree-inline.c