[clang] [ASTWriter] Detect more non-affecting FileIDs to reduce source location duplication (PR #112015)
Chuanqi Xu via cfe-commits
cfe-commits at lists.llvm.org
Mon Oct 14 19:26:27 PDT 2024
================
@@ -192,13 +201,13 @@ GetAffectingModuleMaps(const Preprocessor &PP, Module *RootModule) {
// The containing module map is affecting, because it's being pointed
// into by Module::DefinitionLoc.
- if (auto FE = MM.getContainingModuleMapFile(Mod))
- ModuleMaps.insert(*FE);
+ if (auto F = MM.getContainingModuleMapFileID(Mod); F.isValid())
+ ModuleMaps.insert(F);
// For inferred modules, the module map that allowed inferring is not
// related to the virtual containing module map file. It did affect the
// compilation, though.
- if (auto FE = MM.getModuleMapFileForUniquing(Mod))
- ModuleMaps.insert(*FE);
+ if (auto F = MM.getModuleMapFileIDForUniquing(Mod); F.isValid())
----------------
ChuanqiXu9 wrote:
> Do you mean the use of F for both ifs? The potential fix would be to use two different names (e.g. F and UniquingF).
yes
https://github.com/llvm/llvm-project/pull/112015
More information about the cfe-commits
mailing list