[clang] [ASTWriter] Detect more non-affecting FileIDs to reduce source location duplication (PR #112015)
Ilya Biryukov via cfe-commits
cfe-commits at lists.llvm.org
Mon Oct 14 03:00:28 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())
----------------
ilya-biryukov wrote:
I am not sure I got the comment right, so wanted to ask again.
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`).
Or is it this about something else (e.g. the logic here or shadowing of some names that aren't obvious to me).
https://github.com/llvm/llvm-project/pull/112015
More information about the cfe-commits
mailing list