ilya-biryukov added a comment.

In https://reviews.llvm.org/D37474#861206, @cameron314 wrote:
> I suppose we could do the overlay manually in all the tests that need it; I 
> guess it depends on what the goal of the VFS support is. To my mind, it 
> doesn't make sense that a file is placed in the RealFS in the first place if 
> a VFS is used, but this is quite entrenched in the current design and 
> difficult to change. In which case, I would argue that parsing a file with a 
> preamble and a VFS should not give a cryptic error without an explicit 
> overlay, but rather "just work". But I agree my current patch is a little 
> crude in that it allows access to the entire RealFS via the VFS.
>
> I could change the automatic overlay to *only* support access to the 
> generated PCH file, similar to how the `FilteredFileSystem` you've pointed 
> out works, but for a single file only. Would that be acceptable?


I totally agree, the current behavior is definitely confusing for clients using 
`vfs::FileSystem` without proper filesystem access on top of `ASTUnit`.
Having an overlay that provides **only** the PCH file sounds like a good middle 
ground.

Maybe we could even read the PCH contents using file APIs instead of 
`vfs::FileSystem` and add them into `PreprocessorOption::RemappedFileBuffers`? 
Do you think that would also work?
Since `ASTUnit` is responsible writes PCHs to disk, it also makes sense for it 
to read them from disk, but accesses to all other files would go through 
`vfs::FileSystem`.


https://reviews.llvm.org/D37474



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to