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
This commit is contained in:
Jason Merrill 2004-07-18 09:41:02 -04:00
parent 94cdeb1ad3
commit 5e631ba3ec

View File

@ -1,6 +1,5 @@
// Bug c++/16115
// { dg-options "-O2" }
// { dg-do run { xfail *-*-* } }
extern "C" void abort();