dexonsmith added a comment.
Thanks for your patience; I missed this when I was on holiday, and I'm just
noticing it now.
Can you tell me more about the scenario this happens? Why is the `FileManager`
being reused after the working directory change? Do the `FileEntry`s need to
remain valid?
I'm also wondering about an alternate solution that optimizes for the common
case, such as the following:
- Don't specifically track relative paths / absolute paths.
- Add an API, something like: `dropRelativePaths()`, which drops all
`{File,Directory}Entry{,Ref}` that are somehow based on relative paths. This
can forward to a similar function the stat cache if necessary.
- Update clients to call that if the working directory changes (you'd want to
do it only if it actually changed, not always).
This would keep `FileManager` from having to growing complexity to track
working directory changes.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92160/new/
https://reviews.llvm.org/D92160
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits