[PATCH] D132867: [Clang] Use virtual FS in processing config files

Sam McCall via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 5 13:44:13 PDT 2022


sammccall added a comment.

In D132867#3770898 <https://reviews.llvm.org/D132867#3770898>, @sepavloff wrote:

> It seems that compatibility issue can appear if someone use VFS for all files but configuration one, which reside in real FS. It is inconvenient and hard to maintain

I agree, the situation is overall better after this change.

> probably nobody uses such combination, otherwise someone filed a bug or prepared a patch.

I can tell you from experience this doesn't always hold. It's unreasonable to expect users to know that the observed behavior is incorrect.

> Strictly speaking this is incorrect behavior because file system object must be used for all operations on files, according to documentation.

I don't think this is a strong argument against documenting the change (is that what we're disagreeing about?)

- what documentation? (E.g. Driver's constructor is undocumented)
- actual behavior trumps documentation: a breaking change that brings behavior into line with docs is still breaking
- it's not true in any case that all clang IO goes through the VFS, as a silly example consider plugin loading with `-Xclang -load`.
- in practice many users who rely on these details work it out by trial and error


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D132867/new/

https://reviews.llvm.org/D132867



More information about the llvm-commits mailing list