diff options
author | Steve Naroff <snaroff@apple.com> | 2008-10-29 14:49:46 +0000 |
---|---|---|
committer | Steve Naroff <snaroff@apple.com> | 2008-10-29 14:49:46 +0000 |
commit | 52c65fa169fa64bd14a76b265a66baf4e0f103ef (patch) | |
tree | 29365f8809e08f38701d288bee4dc572e8a8c814 | |
parent | fbb10bbec4cb0454745e1fa895321313d02e26a3 (diff) | |
download | bcm5719-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.cpp | 5 |
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() |