re PR tree-optimization/16115 (double-destruction problem with argument passing via...
authorJason Merrill <jason@redhat.com>
Sun, 18 Jul 2004 05:44:18 +0000 (01:44 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Sun, 18 Jul 2004 05:44:18 +0000 (01:44 -0400)
commitd8472c75e8f6cdeabb60e2d743e58fb7ab46fef6
treec1f40776f7d9fdfe9b7691b28cc55470e406ddcc
parentb52cf5a74395bb7b39ded04dd7dd1fd756dd99e3
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: r84887
gcc/ChangeLog
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-gimplify.c
gcc/cp/decl.c
gcc/stor-layout.c
gcc/tree.h