diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-08-10 16:51:53 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-08-10 16:51:53 +0000 |
commit | 136da1c4320156fe8924139f58fbeed2e32cc6e8 (patch) | |
tree | 07dd43565cc5722075cc6a1b58734a23674ffbb2 /lib/Sema/SemaDeclCXX.cpp | |
parent | eaf4fbab08b2636103b2da08412e33baff15ad2a (diff) |
When adding the base and member initializers for an implicitly-defined
special member function, make sure to classify an explicitly-defaulted
copy constructor as a "copy" operation. Fixes PR10622.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137219 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaDeclCXX.cpp')
-rw-r--r-- | lib/Sema/SemaDeclCXX.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp index b5b7a314f0..05706d7d42 100644 --- a/lib/Sema/SemaDeclCXX.cpp +++ b/lib/Sema/SemaDeclCXX.cpp @@ -2155,7 +2155,8 @@ struct BaseAndFieldInfo { BaseAndFieldInfo(Sema &S, CXXConstructorDecl *Ctor, bool ErrorsInInits) : S(S), Ctor(Ctor), AnyErrorsInInits(ErrorsInInits) { // FIXME: Handle implicit move constructors. - if (Ctor->isImplicit() && Ctor->isCopyConstructor()) + if ((Ctor->isImplicit() || Ctor->isDefaulted()) && + Ctor->isCopyConstructor()) IIK = IIK_Copy; else IIK = IIK_Default; |