re PR c++/44909 ([C++0x] Copy constructors implicitly deleted)
authorJason Merrill <jason@redhat.com>
Tue, 13 Jul 2010 22:23:49 +0000 (18:23 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Tue, 13 Jul 2010 22:23:49 +0000 (18:23 -0400)
commit7487bca5bb7db6e736d22be5ca0fb4f40f3ff71b
tree1a85f6b676136ee085095f0b0dfae644d6634b7c
parent8caa8b6590d1988ab1d13ff20d1317bbdd3748fb
re PR c++/44909 ([C++0x] Copy constructors implicitly deleted)

PR c++/44909
* cp-tree.h (struct lang_type_class): Add has_user_opeq.
(TYPE_HAS_USER_OPEQ): New.
* decl.c (grok_special_member_properties): Set it.
* class.c (add_implicitly_declared_members): Don't lazily declare
constructors/operator= if a base or member has a user-declared one.
(check_bases_and_members, check_bases): Adjust.
(check_field_decls, check_field_decl): Adjust.
* method.c (synthesized_method_walk): Initialize check_vdtor.

From-SVN: r162159
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/method.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/implicit6.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/error28.C