Diagnose bad receiver type.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46358 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Sema/SemaExprObjC.cpp b/Sema/SemaExprObjC.cpp
index 125a4c4..f4d16d9 100644
--- a/Sema/SemaExprObjC.cpp
+++ b/Sema/SemaExprObjC.cpp
@@ -258,8 +258,10 @@
              SourceRange(lbrac, rbrac));
     }
     else {
-      assert(ObjCInterfaceType::classof(receiverType.getTypePtr()) &&
-             "bad receiver type");
+      if (!isa<ObjCInterfaceType>(receiverType.getTypePtr())) {
+        Diag(lbrac, diag::error_bad_receiver_type, receiverType.getAsString());
+        return true;
+      }
       ClassDecl = static_cast<ObjCInterfaceType*>(
                     receiverType.getTypePtr())->getDecl();
       // FIXME: consider using InstanceMethodPool, since it will be faster