[clang] Make PCH's respect any VFS specified. (PR #106577)
Neil Henning via cfe-commits
cfe-commits at lists.llvm.org
Thu Sep 12 10:11:17 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)) {
----------------
sheredom wrote:
So tried this, and there are problems. `getRealPath` requires that the remapped path already exists, and so will fail (returning the original path again) because the remapped location doesn't exist (because we are wanting to remap to some fake directory!).
https://github.com/llvm/llvm-project/pull/106577
More information about the cfe-commits
mailing list