diff options
author | Steve Naroff <snaroff@apple.com> | 2008-10-30 14:45:29 +0000 |
---|---|---|
committer | Steve Naroff <snaroff@apple.com> | 2008-10-30 14:45:29 +0000 |
commit | c8ad87bcbd71c3538fc3881cb5095f18573dbacf (patch) | |
tree | ecd77b13d07e2ccea0a4ecc22794d92385fa8223 | |
parent | a7fbf7282eadebaf1293d9f970b01fb57f4b0ae4 (diff) |
Make sure RewriteObjCMethodDecl() does a block pointer rewrite.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58430 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | Driver/RewriteObjC.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Driver/RewriteObjC.cpp b/Driver/RewriteObjC.cpp index b5efd4fac0..39f4f15ae9 100644 --- a/Driver/RewriteObjC.cpp +++ b/Driver/RewriteObjC.cpp @@ -794,7 +794,12 @@ void RewriteObjC::RewriteObjCMethodDecl(ObjCMethodDecl *OMD, ResultStr += PDecl->getName(); } else { std::string Name = PDecl->getName(); - PDecl->getType().getAsStringInternal(Name); + if (isBlockPointerType(PDecl->getType())) { + // Make sure we convert "t (^)(...)" to "t (*)(...)". + const BlockPointerType *BPT = PDecl->getType()->getAsBlockPointerType(); + Context->getPointerType(BPT->getPointeeType()).getAsStringInternal(Name); + } else + PDecl->getType().getAsStringInternal(Name); ResultStr += Name; } } |