From: Fariborz Jahanian Date: Mon, 18 May 2009 17:39:25 +0000 (+0000) Subject: Minor tweak to support format attribute on blocks. No change in functionality. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=755f9d2c65f75d539a2440e5de82d881e4417397;p=clang Minor tweak to support format attribute on blocks. No change in functionality. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72020 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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(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(d); + return getFunctionType(d, false) || isa(d); } /// isFunctionOrMethodOrBlock - Return true if the given decl has function