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,