[clang] [clang][modules] Only compute affecting module maps with implicit search (PR #87849)
Jan Svoboda via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 16 16:33:22 PDT 2024
================
@@ -161,8 +161,13 @@ static TypeCode getTypeCodeForTypeClass(Type::TypeClass id) {
namespace {
-std::set<const FileEntry *> GetAffectingModuleMaps(const Preprocessor &PP,
- Module *RootModule) {
+std::optional<std::set<const FileEntry *>>
+GetAffectingModuleMaps(const Preprocessor &PP, Module *RootModule) {
+ // Without implicit module map search, there's no good reason to know about
+ // any module maps that are not affecting.
+ if (!PP.getHeaderSearchInfo().getHeaderSearchOpts().ImplicitModuleMaps)
+ return std::nullopt;
----------------
jansvoboda11 wrote:
I wasn't aware that you're passing unused module map files to the compiler. In that case I can introduce a separate flag to control this functionality and only disable the computation of affecting module maps for our flavor of explicit modules where this is a no-op. Sounds good?
https://github.com/llvm/llvm-project/pull/87849
More information about the cfe-commits
mailing list