[PATCH] D142724: [clang] use FileEntryRef for SUBMODULE_TOPHEADER
Richard Howell via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 27 12:21:44 PST 2023
rmaz added inline comments.
================
Comment at: clang/lib/Lex/ModuleMap.cpp:663
Result->IsInferred = true;
- Result->addTopHeader(File);
+ Result->addTopHeader(File->getLastRef());
----------------
jansvoboda11 wrote:
> rmaz wrote:
> > jansvoboda11 wrote:
> > > How much work would be to refactor `File` to be `FileEntryRef`? Would be good if we didn't need to resort to `getLastRef()`.
> > It is unfortunately a fair bit. I spent some time on it but hit a roadblock with the FileManagers VirtualFileEntries:
> >
> > https://github.com/llvm/llvm-project/blob/main/clang/include/clang/Basic/FileManager.h#L70-L71
> >
> > We would require this to be refactored to FileEntry too, as it is used here to provide a UID mapping to FileEntry pointers which needs to be changed to refs:
> >
> > https://github.com/llvm/llvm-project/blob/main/clang/lib/Basic/FileManager.cpp#L614-L633
> >
> > I can put up a follow on diff once this one is shipped if preferred?
> I was able to refactor the UID mapping to use `FileEntryRef` in D142780. Given that, I think it would be preferable to propagate these into `findOrCreateModuleForHeaderInUmbrellaDir()` and remove `getLastRef()`.
Nice, i'll rebase this and add the remaining changes once its shipped.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D142724/new/
https://reviews.llvm.org/D142724
More information about the cfe-commits
mailing list