diff options
-rw-r--r-- | lib/Sema/SemaDeclAttr.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/Sema/SemaDeclAttr.cpp b/lib/Sema/SemaDeclAttr.cpp index 1cdca22242..2c2e4d3c0f 100644 --- a/lib/Sema/SemaDeclAttr.cpp +++ b/lib/Sema/SemaDeclAttr.cpp @@ -24,7 +24,7 @@ using namespace clang; // Helper functions //===----------------------------------------------------------------------===// -static const FunctionType *getFunctionType(Decl *d) { +static const FunctionType *getFunctionType(Decl *d, bool blocksToo = true) { QualType Ty; if (ValueDecl *decl = dyn_cast<ValueDecl>(d)) Ty = decl->getType(); @@ -37,7 +37,7 @@ static const FunctionType *getFunctionType(Decl *d) { if (Ty->isFunctionPointerType()) Ty = Ty->getAsPointerType()->getPointeeType(); - else if (Ty->isBlockPointerType()) + else if (blocksToo && Ty->isBlockPointerType()) Ty = Ty->getAsBlockPointerType()->getPointeeType(); return Ty->getAsFunctionType(); @@ -50,7 +50,7 @@ static const FunctionType *getFunctionType(Decl *d) { /// type (function or function-typed variable) or an Objective-C /// method. static bool isFunctionOrMethod(Decl *d) { - return getFunctionType(d) || isa<ObjCMethodDecl>(d); + return getFunctionType(d, false) || isa<ObjCMethodDecl>(d); } /// isFunctionOrMethodOrBlock - Return true if the given decl has function |