This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/50500] [C++0x] [DR 1082] move constructor should cause copy constructor to be deleted, but still declared


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50500

--- Comment #1 from Jason Merrill <jason at gcc dot gnu.org> 2011-10-18 17:39:26 UTC ---
Author: jason
Date: Tue Oct 18 17:39:15 2011
New Revision: 180159

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180159
Log:
    PR c++/50500
    DR 1082
    * class.c (type_has_user_declared_move_constructor): New.
    (type_has_user_declared_move_assign): New.
    (add_implicitly_declared_members): Add lazy copy ops
    even if there's a move.
    * method.c (lazily_declare_fn): Delete implicit copies
    if there's a move.
    (maybe_explain_implicit_delete): Explain this.  Use inform rather
    than error.
    * cp-tree.h: Declare new fns.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/implicit12.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/class.c
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/method.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/cpp0x/defaulted20.C
    trunk/gcc/testsuite/g++.dg/cpp0x/defaulted21.C
    trunk/gcc/testsuite/g++.dg/cpp0x/implicit-copy.C
    trunk/gcc/testsuite/g++.dg/cpp0x/implicit4.C
    trunk/gcc/testsuite/g++.dg/cpp0x/implicit5.C
    trunk/gcc/testsuite/g++.dg/cpp0x/implicit8.C
    trunk/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ice2.C
    trunk/gcc/testsuite/g++.dg/cpp0x/not_special.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv-trivial-bug.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv1n.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv2n.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv3n.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv4n.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv5n.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv6n.C
    trunk/gcc/testsuite/g++.dg/cpp0x/rv7n.C
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/bits/shared_ptr.h
    trunk/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc
    trunk/libstdc++-v3/testsuite/util/testsuite_allocator.h
    trunk/libstdc++-v3/testsuite/util/testsuite_rvalref.h


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]