Commit 5e631ba3 by Jason Merrill

re PR tree-optimization/16115 (double-destruction problem with argument passing…

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
parent 94cdeb1a
// Bug c++/16115 // Bug c++/16115
// { dg-options "-O2" } // { dg-options "-O2" }
// { dg-do run { xfail *-*-* } }
extern "C" void abort(); extern "C" void abort();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment