From a206b0614a392cfef19aaaa894f9d3c756006421 Mon Sep 17 00:00:00 2001 From: Steve Naroff Date: Wed, 29 Oct 2008 14:49:46 +0000 Subject: [PATCH] Make sure internally synthesized block pointer types are converted before pretty printing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58380 91177308-0d34-0410-b5e6-96231b3b80d8 --- Driver/RewriteObjC.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Driver/RewriteObjC.cpp b/Driver/RewriteObjC.cpp index 27e5459089..4eba8cc816 100644 --- a/Driver/RewriteObjC.cpp +++ b/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() -- 2.40.0