diff options
author | David Blaikie <dblaikie@gmail.com> | 2019-07-08 23:24:41 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2019-07-08 23:24:41 +0000 |
commit | 793231c319f05c476071f0aad5104219be9185f8 (patch) | |
tree | cddd2cb23eee9dbda55bac6743d6361ba0d45f70 /clang/lib/Sema | |
parent | 315ce839be27d66727c6eef9f211de424180b728 (diff) | |
download | bcm5719-llvm-793231c319f05c476071f0aad5104219be9185f8.tar.gz bcm5719-llvm-793231c319f05c476071f0aad5104219be9185f8.zip |
[cxx2a] P0624R2 fix: only lambdas with no lambda-capture are default-constructible and assignable.
This is a fix for rG864949 which only disabled default construction and
assignment for lambdas with capture-defaults, where the C++2a draft
disables them for lambdas with any lambda-capture at all.
Patch by Logan Smith!
Differential Revision: https://reviews.llvm.org/D64058
llvm-svn: 365406
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r-- | clang/lib/Sema/SemaDeclCXX.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp index 0fda8ea515b..4f24f88be18 100644 --- a/clang/lib/Sema/SemaDeclCXX.cpp +++ b/clang/lib/Sema/SemaDeclCXX.cpp @@ -7238,7 +7238,7 @@ bool Sema::ShouldDeleteSpecialMember(CXXMethodDecl *MD, CXXSpecialMember CSM, // The closure type associated with a lambda-expression has a // deleted (8.4.3) default constructor and a deleted copy // assignment operator. - // C++2a adds back these operators if the lambda has no capture-default. + // C++2a adds back these operators if the lambda has no lambda-capture. if (RD->isLambda() && !RD->lambdaIsDefaultConstructibleAndAssignable() && (CSM == CXXDefaultConstructor || CSM == CXXCopyAssignment)) { if (Diagnose) |