summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/clang/lib/AST/DeclBase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/llvm/clang/lib/AST/DeclBase.cpp')
-rw-r--r--gnu/llvm/clang/lib/AST/DeclBase.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/gnu/llvm/clang/lib/AST/DeclBase.cpp b/gnu/llvm/clang/lib/AST/DeclBase.cpp
index cb4d61cac2c..cb7c7fcbd4b 100644
--- a/gnu/llvm/clang/lib/AST/DeclBase.cpp
+++ b/gnu/llvm/clang/lib/AST/DeclBase.cpp
@@ -332,13 +332,16 @@ void Decl::setDeclContextsImpl(DeclContext *SemaDC, DeclContext *LexicalDC,
}
}
-bool Decl::isLexicallyWithinFunctionOrMethod() const {
+bool Decl::isInLocalScope() const {
const DeclContext *LDC = getLexicalDeclContext();
while (true) {
if (LDC->isFunctionOrMethod())
return true;
if (!isa<TagDecl>(LDC))
return false;
+ if (const auto *CRD = dyn_cast<CXXRecordDecl>(LDC))
+ if (CRD->isLambda())
+ return true;
LDC = LDC->getLexicalParent();
}
return false;