summaryrefslogtreecommitdiffstats
path: root/clang/lib/Serialization/ASTWriter.cpp
diff options
context:
space:
mode:
authorBen Langmuir <blangmuir@apple.com>2014-09-08 20:36:26 +0000
committerBen Langmuir <blangmuir@apple.com>2014-09-08 20:36:26 +0000
commit5f95c8fc5f3cc656d28c3049cf17b8aecd408b7b (patch)
tree020a04d2a3a195c252622778661f7af947611499 /clang/lib/Serialization/ASTWriter.cpp
parent18f0a986c129c0d0cd4c038547a6bbb81a4803b7 (diff)
downloadbcm5719-llvm-5f95c8fc5f3cc656d28c3049cf17b8aecd408b7b.tar.gz
bcm5719-llvm-5f95c8fc5f3cc656d28c3049cf17b8aecd408b7b.zip
Fix PCHs that import more than one module
We were passing < to std::unique, but it expects ==. Since the input is sorted, we were always trimming it to one entry. llvm-svn: 217402
Diffstat (limited to 'clang/lib/Serialization/ASTWriter.cpp')
-rw-r--r--clang/lib/Serialization/ASTWriter.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp
index 973d8a28e14..0b65d0a571d 100644
--- a/clang/lib/Serialization/ASTWriter.cpp
+++ b/clang/lib/Serialization/ASTWriter.cpp
@@ -4617,10 +4617,13 @@ void ASTWriter::WriteASTCore(Sema &SemaRef,
auto Cmp = [](const ModuleInfo &A, const ModuleInfo &B) {
return A.ID < B.ID;
};
+ auto Eq = [](const ModuleInfo &A, const ModuleInfo &B) {
+ return A.ID == B.ID;
+ };
// Sort and deduplicate module IDs.
std::sort(Imports.begin(), Imports.end(), Cmp);
- Imports.erase(std::unique(Imports.begin(), Imports.end(), Cmp),
+ Imports.erase(std::unique(Imports.begin(), Imports.end(), Eq),
Imports.end());
RecordData ImportedModules;
OpenPOWER on IntegriCloud