[clang] Make PCH's respect any VFS specified. (PR #106577)
Jan Svoboda via cfe-commits
cfe-commits at lists.llvm.org
Thu Sep 12 08:46:09 PDT 2024
================
@@ -4772,6 +4772,23 @@ bool ASTWriter::PreparePathForOutput(SmallVectorImpl<char> &Path) {
Changed = true;
}
+ // If we are generating a normal PCH (EG. not a C++ module).
+ if (!WritingModule) {
+ // Use the vfs overlay if it exists to translate paths.
+ auto &FileSys =
+ Context->getSourceManager().getFileManager().getVirtualFileSystem();
+
+ if (auto *RFS = dyn_cast<llvm::vfs::RedirectingFileSystem>(&FileSys)) {
----------------
jansvoboda11 wrote:
`getRealPath()` gets very expensive if it ever hits the actual FS. Agreed that looking through the abstraction is not ideal.
https://github.com/llvm/llvm-project/pull/106577
More information about the cfe-commits
mailing list