diff options
author | Jason Merrill <jason@redhat.com> | 2010-07-13 18:23:49 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2010-07-13 18:23:49 -0400 |
commit | 7487bca5bb7db6e736d22be5ca0fb4f40f3ff71b (patch) | |
tree | 1a85f6b676136ee085095f0b0dfae644d6634b7c /gcc/cp/decl.c | |
parent | 8caa8b6590d1988ab1d13ff20d1317bbdd3748fb (diff) | |
download | gcc-7487bca5bb7db6e736d22be5ca0fb4f40f3ff71b.zip gcc-7487bca5bb7db6e736d22be5ca0fb4f40f3ff71b.tar.gz gcc-7487bca5bb7db6e736d22be5ca0fb4f40f3ff71b.tar.bz2 |
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
Diffstat (limited to 'gcc/cp/decl.c')
-rw-r--r-- | gcc/cp/decl.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 541f77e..1491720 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -10293,6 +10293,8 @@ grok_special_member_properties (tree decl) int assop = copy_fn_p (decl); + if (!DECL_ARTIFICIAL (decl)) + TYPE_HAS_USER_OPEQ (class_type) = 1; if (assop) { TYPE_HAS_COPY_ASSIGN (class_type) = 1; |