diff options
author | James Dennett <jdennett@google.com> | 2013-09-05 17:46:21 +0000 |
---|---|---|
committer | James Dennett <jdennett@google.com> | 2013-09-05 17:46:21 +0000 |
commit | 8f60cdd54b2a3450ffe749bee7972f5820119da0 (patch) | |
tree | 66198238b422e932db7557cad02b4872f25bc88c /clang/lib/AST | |
parent | 6c0af64f0c1a7f2ff20ba6e769133587ee11f008 (diff) | |
download | bcm5719-llvm-8f60cdd54b2a3450ffe749bee7972f5820119da0.tar.gz bcm5719-llvm-8f60cdd54b2a3450ffe749bee7972f5820119da0.zip |
Mark lambda closure classes as being implicitly-generated.
Summary: Closure classes for C++ lambdas are always compiler-generated. This one-line change calls setImplicit(true) on them at creation time, such that a default RecursiveASTVisitor (or any for which shouldVisitImplicitCode returns false) will skip them.
Reviewers: rsmith, dblaikie
Reviewed By: dblaikie
CC: klimek, revane, cfe-commits, jordan_rose
Differential Revision: http://llvm-reviews.chandlerc.com/D1593
llvm-svn: 190073
Diffstat (limited to 'clang/lib/AST')
-rw-r--r-- | clang/lib/AST/DeclCXX.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/AST/DeclCXX.cpp b/clang/lib/AST/DeclCXX.cpp index 4d963cf4b3c..337ca6629c9 100644 --- a/clang/lib/AST/DeclCXX.cpp +++ b/clang/lib/AST/DeclCXX.cpp @@ -114,6 +114,7 @@ CXXRecordDecl *CXXRecordDecl::CreateLambda(const ASTContext &C, DeclContext *DC, R->IsBeingDefined = true; R->DefinitionData = new (C) struct LambdaDefinitionData(R, Info, Dependent); R->MayHaveOutOfDateDef = false; + R->setImplicit(true); C.getTypeDeclType(R, /*PrevDecl=*/0); return R; } |