PTH: Have meta data be at the beginning of the PTH file, not the end.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64338 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Lex/PTHLexer.cpp b/lib/Lex/PTHLexer.cpp
index 18f2dc4..9f878b6 100644
--- a/lib/Lex/PTHLexer.cpp
+++ b/lib/Lex/PTHLexer.cpp
@@ -597,16 +597,16 @@
   }
 
   // Compute the address of the index table at the end of the PTH file.  
-  const unsigned char *EndTable = BufBeg + ReadLE32(p);
+  const unsigned char *PrologueOffset = p;
   
-  if (EndTable >= BufEnd) {
+  if (PrologueOffset >= BufEnd) {
     InvalidPTH(Diags);
     return 0;
   }
   
   // Construct the file lookup table.  This will be used for mapping from
   // FileEntry*'s to cached tokens.
-  const unsigned char* FileTableOffset = EndTable + sizeof(uint32_t)*2;
+  const unsigned char* FileTableOffset = PrologueOffset + sizeof(uint32_t)*2;
   const unsigned char* FileTable = BufBeg + ReadLE32(FileTableOffset);
   
   if (!(FileTable > BufBeg && FileTable < BufEnd)) {
@@ -622,7 +622,7 @@
   
   // Get the location of the table mapping from persistent ids to the
   // data needed to reconstruct identifiers.
-  const unsigned char* IDTableOffset = EndTable + sizeof(uint32_t)*0;
+  const unsigned char* IDTableOffset = PrologueOffset + sizeof(uint32_t)*0;
   const unsigned char* IData = BufBeg + ReadLE32(IDTableOffset);
   
   if (!(IData >= BufBeg && IData < BufEnd)) {
@@ -632,7 +632,7 @@
   
   // Get the location of the hashtable mapping between strings and
   // persistent IDs.
-  const unsigned char* StringIdTableOffset = EndTable + sizeof(uint32_t)*1;
+  const unsigned char* StringIdTableOffset = PrologueOffset + sizeof(uint32_t)*1;
   const unsigned char* StringIdTable = BufBeg + ReadLE32(StringIdTableOffset);
   if (!(StringIdTable >= BufBeg && StringIdTable < BufEnd)) {
     InvalidPTH(Diags);
@@ -647,7 +647,7 @@
   }
   
   // Get the location of the spelling cache.
-  const unsigned char* spellingBaseOffset = EndTable + sizeof(uint32_t)*3;
+  const unsigned char* spellingBaseOffset = PrologueOffset + sizeof(uint32_t)*3;
   const unsigned char* spellingBase = BufBeg + ReadLE32(spellingBaseOffset);
   if (!(spellingBase >= BufBeg && spellingBase < BufEnd)) {
     InvalidPTH(Diags);