Static Analyzer: When generating plists for errors reports, generate one plist file per translation unit that contains all of the diagnostics.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62647 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/DeclSerialization.cpp b/lib/AST/DeclSerialization.cpp
index b37e7b4..7d848ff 100644
--- a/lib/AST/DeclSerialization.cpp
+++ b/lib/AST/DeclSerialization.cpp
@@ -211,9 +211,9 @@
     = static_cast<DeclarationName::NameKind>(D.ReadInt());
   switch (Kind) {
   case DeclarationName::Identifier: {
-    IdentifierInfo *Identifier;
-    D.ReadPtr(Identifier);
-    Name = Identifier;
+    // Don't allow back-patching.  The IdentifierInfo table must already
+    // be loaded.
+    Name = D.ReadPtr<IdentifierInfo>();
     break;
   }