]> granicus.if.org Git - clang/commitdiff
Rewriting array element type of qualified-id.
authorFariborz Jahanian <fjahanian@apple.com>
Thu, 30 Sep 2010 20:41:32 +0000 (20:41 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Thu, 30 Sep 2010 20:41:32 +0000 (20:41 +0000)
Fixes rdra://8475819.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115201 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Rewrite/RewriteObjC.cpp
test/Rewriter/rewrite-protocol-qualified.mm

index dd6cf93a39957720eca83b56dcd6e5b4788069a0..c085e6d017586e5ad8f629ba1282c45dc32f6ad4 100644 (file)
@@ -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;
 }
 
index 671aa6b08a03cca6e463626811b3f0dc47d9eb5e..fae11a0adfa379a828f50c8515cc1535f151c9ca 100644 (file)
@@ -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];
+}
+