Fixed bug in the serialization of FunctionDecls.  We would incorrectly
query for the number of parameters for FunctionDecls that had type
FunctionTypeNoProto.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44191 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/AST/DeclSerialization.cpp b/AST/DeclSerialization.cpp
index 4f80ca1..16654bb 100644
--- a/AST/DeclSerialization.cpp
+++ b/AST/DeclSerialization.cpp
@@ -335,14 +335,14 @@
   
   decl->ValueDecl::ReadInRec(D);
   D.ReadPtr(decl->DeclChain);
-  
-  decl->ParamInfo = decl->getNumParams()
-                    ? new ParmVarDecl*[decl->getNumParams()] 
-                    : NULL;
-  
+
   Decl* next_declarator;
   
   bool hasParamDecls = D.ReadBool();
+    
+  decl->ParamInfo = hasParamDecls
+                  ? new ParmVarDecl*[decl->getNumParams()] 
+                  : NULL;  
   
   if (hasParamDecls)
     D.BatchReadOwnedPtrs(decl->getNumParams(),