[PATCH] D122549: [VFS] RedirectingFileSystem only replace path if not already mapped
Ben Barham via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Mar 27 14:25:30 PDT 2022
bnbarham created this revision.
bnbarham added reviewers: dexonsmith, keith, JDevlieghere, vsapsai, sammccall.
Herald added a subscriber: hiraditya.
Herald added a project: All.
bnbarham requested review of this revision.
Herald added projects: clang, LLVM.
Herald added subscribers: llvm-commits, cfe-commits.
If the `ExternalFS` has already remapped a path then the
`RedirectingFileSystem` should not change it to the originally provided
path. This fixes the original path always being used if multiple VFS
overlays were provided and the path wasn't found in the highest (ie.
first in the chain).
This also changes `IsVFSMapped` to mean the returned path is a *mapped*
path, rather than just from a virtual filesystem. But it was only being used
by a hack in `FileManager` for module searching, where `external-names: true`
is always used.
Resolves rdar://90578880 and llvm-project#53306.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D122549
Files:
clang/lib/Basic/FileManager.cpp
clang/test/VFS/external-names-multi-overlay.c
llvm/include/llvm/Support/VirtualFileSystem.h
llvm/lib/Support/VirtualFileSystem.cpp
llvm/unittests/Support/VirtualFileSystemTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D122549.418471.patch
Type: text/x-patch
Size: 7071 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220327/cbf881fd/attachment.bin>
More information about the llvm-commits
mailing list