aboutsummaryrefslogtreecommitdiff
path: root/lib/Rewrite/RewriteObjC.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2010-11-03 23:50:34 +0000
committerFariborz Jahanian <fjahanian@apple.com>2010-11-03 23:50:34 +0000
commit06de2cfe0b46e525ba8618536b12aecfbd12d127 (patch)
treee0f6f63d172b32325c6554e5829799272f5fc6c0 /lib/Rewrite/RewriteObjC.cpp
parente985d01390a828d9ea679c26c711d5509fd27709 (diff)
Fixes a rewriting bug when type in a block argument type
is a objc qualified class type. // rdar: //8608902 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118208 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Rewrite/RewriteObjC.cpp')
-rw-r--r--lib/Rewrite/RewriteObjC.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/Rewrite/RewriteObjC.cpp b/lib/Rewrite/RewriteObjC.cpp
index 068636c562..301266f587 100644
--- a/lib/Rewrite/RewriteObjC.cpp
+++ b/lib/Rewrite/RewriteObjC.cpp
@@ -4901,10 +4901,14 @@ bool RewriteObjC::PointerTypeTakesAnyObjCQualifiedType(QualType QT) {
}
if (FTP) {
for (FunctionProtoType::arg_type_iterator I = FTP->arg_type_begin(),
- E = FTP->arg_type_end(); I != E; ++I)
- if ((*I)->isObjCQualifiedIdType() ||
- (*I)->isObjCQualifiedInterfaceType())
+ E = FTP->arg_type_end(); I != E; ++I) {
+ if ((*I)->isObjCQualifiedIdType())
+ return true;
+ if ((*I)->isObjCObjectPointerType() &&
+ (*I)->getPointeeType()->isObjCQualifiedInterfaceType())
return true;
+ }
+
}
return false;
}