summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorSteve Naroff <snaroff@apple.com>2009-02-02 18:24:29 +0000
committerSteve Naroff <snaroff@apple.com>2009-02-02 18:24:29 +0000
commit49140cb544bea6c57527f60ca7153721bfa86b97 (patch)
treed72f0df187ac4ea7b7aecea169b70756bfcee8ef /clang
parentc81fdd1773c8d7c3b9edd541b3e462d59f4e5400 (diff)
downloadbcm5719-llvm-49140cb544bea6c57527f60ca7153721bfa86b97.tar.gz
bcm5719-llvm-49140cb544bea6c57527f60ca7153721bfa86b97.zip
Change the ObjC type encoding for block pointer types to "@?" (for consistency with GCC).
This fixes <rdar://problem/6538564> clang ObjC rewriter: Wrong encoding emitted for methods with Block parameters. llvm-svn: 63534
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/AST/ASTContext.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp
index c43ae78c9f5..7892c84f92b 100644
--- a/clang/lib/AST/ASTContext.cpp
+++ b/clang/lib/AST/ASTContext.cpp
@@ -2100,7 +2100,7 @@ void ASTContext::getObjCEncodingForTypeImpl(QualType T, std::string& S,
else
S += 'i';
} else if (T->isBlockPointerType()) {
- S += '^'; // This type string is the same as general pointers.
+ S += "@?"; // Unlike a pointer-to-function, which is "^?".
} else if (T->isObjCInterfaceType()) {
// @encode(class_name)
ObjCInterfaceDecl *OI = T->getAsObjCInterfaceType()->getDecl();
OpenPOWER on IntegriCloud