aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp')
-rw-r--r--clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp b/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
index e7d6fee..7241081 100644
--- a/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
+++ b/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
@@ -53,6 +53,10 @@ class InterfaceStubFunctionsConsumer : public ASTConsumer {
return true;
if (const VarDecl *VD = dyn_cast<VarDecl>(ND)) {
+ if (const auto *Parent = VD->getParentFunctionOrMethod())
+ if (isa<BlockDecl>(Parent) || isa<CXXMethodDecl>(Parent))
+ return true;
+
if ((VD->getStorageClass() == StorageClass::SC_Extern) ||
(VD->getStorageClass() == StorageClass::SC_Static &&
VD->getParentFunctionOrMethod() == nullptr))