Make return in memory explicit.
commit806e4c12395ae2ebbd374d91880204c498ae4c0b
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 7 Aug 2004 17:40:10 +0000 (7 17:40 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 7 Aug 2004 17:40:10 +0000 (7 17:40 +0000)
tree252b73c82d55d0b8da42cb892207cf89b9b2d1bc
parent8223629e6c6c40e59d68e94e9fc2b7eca7848dd5
    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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85675 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cp/cp-gimplify.c
gcc/function.c
gcc/gimplify.c
gcc/tree-inline.c