diff options
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Serialization/ASTWriter.cpp | 5 | ||||
| -rw-r--r-- | clang/test/Modules/Inputs/pch-used.h | 1 | ||||
| -rw-r--r-- | clang/test/Modules/pch-used.m | 1 |
3 files changed, 6 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; diff --git a/clang/test/Modules/Inputs/pch-used.h b/clang/test/Modules/Inputs/pch-used.h index 60e0097ea90..bc53bb37a9d 100644 --- a/clang/test/Modules/Inputs/pch-used.h +++ b/clang/test/Modules/Inputs/pch-used.h @@ -1,2 +1,3 @@ @import cstd.stdio; +@import other_constants.dbl_max; static inline void SPXTrace() { fprintf(__stderrp, ""); } diff --git a/clang/test/Modules/pch-used.m b/clang/test/Modules/pch-used.m index 56961ba404c..74f21f5dac0 100644 --- a/clang/test/Modules/pch-used.m +++ b/clang/test/Modules/pch-used.m @@ -4,5 +4,6 @@ // RUN: %clang_cc1 %s -include-pch %t/pch-used.h.pch -fmodules -fmodules-cache-path=%t/cache -O0 -isystem %S/Inputs/System/usr/include -emit-llvm -o - | FileCheck %s void f() { SPXTrace(); } +void g() { double x = DBL_MAX; } // CHECK: define internal void @SPXTrace |

