warn when someone tries to make an array of ObjC interfaces instead of array
of pointers to them.  rdar://4304469


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54953 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaType.cpp b/lib/Sema/SemaType.cpp
index eafaae5..820a1c8 100644
--- a/lib/Sema/SemaType.cpp
+++ b/lib/Sema/SemaType.cpp
@@ -338,7 +338,11 @@
           T = Context.IntTy;
           D.setInvalidType(true);
         }
+      } else if (T->isObjCInterfaceType()) {
+        Diag(DeclType.Loc, diag::warn_objc_array_of_interfaces,
+             T.getAsString());
       }
+      
       // C99 6.7.5.2p1: The size expression shall have integer type.
       if (ArraySize && !ArraySize->getType()->isIntegerType()) {
         Diag(ArraySize->getLocStart(), diag::err_array_size_non_int,