Allow the next catoregory slot to be null.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69969 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Frontend/PCHReader.cpp b/lib/Frontend/PCHReader.cpp
index 06a7258..d50ab83 100644
--- a/lib/Frontend/PCHReader.cpp
+++ b/lib/Frontend/PCHReader.cpp
@@ -298,7 +298,9 @@
   for (unsigned I = 0; I != NumProtoRefs; ++I)
     ProtoRefs.push_back(cast<ObjCProtocolDecl>(Reader.GetDecl(Record[Idx++])));
   CD->setProtocolList(&ProtoRefs[0], NumProtoRefs, Reader.getContext());
-  CD->setNextClassCategory(cast<ObjCCategoryDecl>(Reader.GetDecl(Record[Idx++])));
+  unsigned nextCat = Record[Idx++];
+  CD->setNextClassCategory(nextCat ? 
+                           cast<ObjCCategoryDecl>(Reader.GetDecl(nextCat)) : 0);
   CD->setLocEnd(SourceLocation::getFromRawEncoding(Record[Idx++]));
 }