summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Naroff <snaroff@apple.com>2008-10-29 14:49:46 +0000
committerSteve Naroff <snaroff@apple.com>2008-10-29 14:49:46 +0000
commit52c65fa169fa64bd14a76b265a66baf4e0f103ef (patch)
tree29365f8809e08f38701d288bee4dc572e8a8c814
parentfbb10bbec4cb0454745e1fa895321313d02e26a3 (diff)
downloadbcm5719-llvm-52c65fa169fa64bd14a76b265a66baf4e0f103ef.tar.gz
bcm5719-llvm-52c65fa169fa64bd14a76b265a66baf4e0f103ef.zip
Make sure internally synthesized block pointer types are converted before pretty printing.
llvm-svn: 58380
-rw-r--r--clang/Driver/RewriteObjC.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/Driver/RewriteObjC.cpp b/clang/Driver/RewriteObjC.cpp
index 27e5459089b..4eba8cc816c 100644
--- a/clang/Driver/RewriteObjC.cpp
+++ b/clang/Driver/RewriteObjC.cpp
@@ -2180,6 +2180,11 @@ Stmt *RewriteObjC::SynthMessageExpr(ObjCMessageExpr *Exp) {
QualType t = mDecl->getParamDecl(i)->getType()->isObjCQualifiedIdType()
? Context->getObjCIdType()
: mDecl->getParamDecl(i)->getType();
+ // Make sure we convert "t (^)(...)" to "t (*)(...)".
+ if (isBlockPointerType(t)) {
+ const BlockPointerType *BPT = t->getAsBlockPointerType();
+ t = Context->getPointerType(BPT->getPointeeType());
+ }
ArgTypes.push_back(t);
}
returnType = mDecl->getResultType()->isObjCQualifiedIdType()
OpenPOWER on IntegriCloud