re PR tree-optimization/16115 (double-destruction problem with argument passing via...
authorJason Merrill <jason@gcc.gnu.org>
Sun, 18 Jul 2004 13:41:02 +0000 (09:41 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Sun, 18 Jul 2004 13:41:02 +0000 (09:41 -0400)
commit5e631ba3ec4d0eb05c2f4a6f8547c9c3549ab0ce
tree4bbff2843ad641fedde34c7a17830d94a71fd192
parent94cdeb1ad33b77f10f4cbc56bbce5d5f9c6b703c
re PR tree-optimization/16115 (double-destruction problem with argument passing via temporary (breaks auto_ptr))

        PR c++/16115
        * stor-layout.c (relayout_decl): New fn.
        * tree.h: Declare it.
        (DECL_BY_REFERENCE): New macro.
        * cp/call.c (type_passed_as): Make the invisible reference type
        __restrict.
        * cp/cp-gimplify.c (gimplify_cleanup_stmt): Rename to
        cp_genericize_r.  Handle invisible reference lowering.
        (is_invisiref_parm): New fn.
        (cp_genericize): Adjust the types of invisible reference parms.
        Don't repeat the walk for clones.
        * cp/decl.c (store_parm_decls): Don't generate any code for clones.

From-SVN: r84895
gcc/testsuite/g++.dg/init/call1.C