summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST
diff options
context:
space:
mode:
authorJames Dennett <jdennett@google.com>2013-09-05 17:46:21 +0000
committerJames Dennett <jdennett@google.com>2013-09-05 17:46:21 +0000
commit8f60cdd54b2a3450ffe749bee7972f5820119da0 (patch)
tree66198238b422e932db7557cad02b4872f25bc88c /clang/lib/AST
parent6c0af64f0c1a7f2ff20ba6e769133587ee11f008 (diff)
downloadbcm5719-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.cpp1
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;
}
OpenPOWER on IntegriCloud