diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2010-09-30 20:41:32 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-09-30 20:41:32 +0000 |
commit | 24f9cab9288368171caaef4bb18b95e4f6083f22 (patch) | |
tree | 03809b51a8c0afbe6e7ceed001af8f87cf60d047 | |
parent | 6edc8001f2c2f5a95ed29259d8f2c0b9faa4bc83 (diff) |
Rewriting array element type of qualified-id.
Fixes rdra://8475819.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115201 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Rewrite/RewriteObjC.cpp | 4 | ||||
-rw-r--r-- | test/Rewriter/rewrite-protocol-qualified.mm | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/lib/Rewrite/RewriteObjC.cpp b/lib/Rewrite/RewriteObjC.cpp index dd6cf93a39..c085e6d017 100644 --- a/lib/Rewrite/RewriteObjC.cpp +++ b/lib/Rewrite/RewriteObjC.cpp @@ -2109,6 +2109,10 @@ bool RewriteObjC::needToScanForQualifiers(QualType T) { T = T->getPointeeType(); return T->isObjCQualifiedInterfaceType(); } + if (T->isArrayType()) { + QualType ElemTy = Context->getBaseElementType(T); + return needToScanForQualifiers(ElemTy); + } return false; } diff --git a/test/Rewriter/rewrite-protocol-qualified.mm b/test/Rewriter/rewrite-protocol-qualified.mm index 671aa6b08a..fae11a0adf 100644 --- a/test/Rewriter/rewrite-protocol-qualified.mm +++ b/test/Rewriter/rewrite-protocol-qualified.mm @@ -39,3 +39,12 @@ void f() { @property (retain) NSRunLoop *workRunLoop; @end + +// rdar://8475819 +@protocol some_protocol; + +void foo (int n) +{ + id<some_protocol> array[n]; +} + |