Author: akirtzidis
Date: Tue Dec 11 01:48:08 2012
New Revision: 169829
URL: http://llvm.org/viewvc/llvm-project?rev=169829&view=rev
Log:
[PCH] When writing out the list of input files, avoid emitting duplicate
entries of the same file.
This can happen because the file was "included" multiple times and is
referenced by multiple SLocEntries.
Modified:
cfe/trunk/lib/Serialization/ASTWriter.cpp
Modified: cfe/trunk/lib/Serialization/ASTWriter.cpp
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTWriter.cpp?rev=169829&r1=169828&r2=169829&view=diff
==============================================================================
--- cfe/trunk/lib/Serialization/ASTWriter.cpp (original)
+++ cfe/trunk/lib/Serialization/ASTWriter.cpp Tue Dec 11 01:48:08 2012
@@ -1235,9 +1235,14 @@
if (!Cache->OrigEntry)
continue;
+ uint32_t &InputFileID = InputFileIDs[Cache->OrigEntry];
+ if (InputFileID != 0)
+ continue; // already recorded this file.
+
// Record this entry's offset.
InputFileOffsets.push_back(Stream.GetCurrentBitNo());
- InputFileIDs[Cache->OrigEntry] = InputFileOffsets.size();
+
+ InputFileID = InputFileOffsets.size();
Record.clear();
Record.push_back(INPUT_FILE);
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits