Fixed bug in serialization of EnumConstantDecl where we improperly
"default constructed" an APSInt.  Fixed another bug in the same method
where we did not allow the NextDeclarator to be NULL.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44147 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/AST/DeclSerialization.cpp b/AST/DeclSerialization.cpp
index 208e81c..4f80ca1 100644
--- a/AST/DeclSerialization.cpp
+++ b/AST/DeclSerialization.cpp
@@ -266,7 +266,7 @@
 }
  
 EnumConstantDecl* EnumConstantDecl::CreateImpl(Deserializer& D) {
-  llvm::APSInt val(0);
+  llvm::APSInt val(1);
   D.Read(val);
   
   EnumConstantDecl* decl = 
@@ -279,7 +279,7 @@
   
   D.BatchReadOwnedPtrs(next_declarator,decl->Init);
   
-  decl->setNextDeclarator(cast<ScopedDecl>(next_declarator));
+  decl->setNextDeclarator(cast_or_null<ScopedDecl>(next_declarator));
 
   return decl;    
 }