aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Lex/ModuleMap.cpp
diff options
context:
space:
mode:
authorBen Langmuir <blangmuir@apple.com>2023-05-08 15:59:51 -0700
committerBen Langmuir <blangmuir@apple.com>2023-05-09 13:02:36 -0700
commit5984ea216d2acbe5613b0af06ea27ef395ca9904 (patch)
tree2286c3de9542e6009d5923ffb017ef392ce04c0a /clang/lib/Lex/ModuleMap.cpp
parentbb6a1eb003320cdfd4a5887ad2cd8577275c2f95 (diff)
downloadllvm-5984ea216d2acbe5613b0af06ea27ef395ca9904.zip
llvm-5984ea216d2acbe5613b0af06ea27ef395ca9904.tar.gz
llvm-5984ea216d2acbe5613b0af06ea27ef395ca9904.tar.bz2
[clang] Prevent creation of new submodules in ASTWriter
Avoid inferring new submodules for headers in ASTWriter's collection of affecting modulemap files, since we don't want to pick up dependencies that didn't actually exist during parsing. rdar://109112624 Differential Revision: https://reviews.llvm.org/D150151
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
-rw-r--r--clang/lib/Lex/ModuleMap.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp
index 0e148a4..66e9a7e 100644
--- a/clang/lib/Lex/ModuleMap.cpp
+++ b/clang/lib/Lex/ModuleMap.cpp
@@ -683,12 +683,12 @@ ModuleMap::findOrCreateModuleForHeaderInUmbrellaDir(const FileEntry *File) {
}
ArrayRef<ModuleMap::KnownHeader>
-ModuleMap::findAllModulesForHeader(const FileEntry *File) {
+ModuleMap::findAllModulesForHeader(const FileEntry *File, bool AllowCreation) {
HeadersMap::iterator Known = findKnownHeader(File);
if (Known != Headers.end())
return Known->second;
- if (findOrCreateModuleForHeaderInUmbrellaDir(File))
+ if (AllowCreation && findOrCreateModuleForHeaderInUmbrellaDir(File))
return Headers.find(File)->second;
return std::nullopt;