[PATCH] Some infrastructure work for virtual file system (now on phab)
Rafael Ávila de Espíndola
rafael.espindola at gmail.com
Wed Feb 12 14:21:18 PST 2014
================
Comment at: include/clang/Basic/FileManager.h:122
@@ -121,2 +121,3 @@
class FileManager : public RefCountedBase<FileManager> {
+ IntrusiveRefCntPtr<AbstractFileSystem> FS;
FileSystemOptions FileSystemOpts;
----------------
Why is the reference count necessary? Given its nature I would expect the FS to outlive the file manger, in which case the FileManager could have just a pointer to the FileSystem.
================
Comment at: include/clang/Basic/VirtualFileSystem.h:62
@@ +61,3 @@
+ /// @{
+ llvm::sys::fs::file_type type() const { return Type; }
+ llvm::sys::fs::perms permissions() const { return Perms; }
----------------
It might be better to use llvm's names: getType for example.
================
Comment at: include/clang/Basic/VirtualFileSystem.h:130
@@ +129,3 @@
+ /// @{
+ llvm::error_code status(FileDescriptor FD, Status &Result);
+ llvm::error_code getBufferForFile(FileDescriptor FD, const llvm::Twine &Name,
----------------
Please upgrade this to return ErrorOr<Status>. We should really upgrade sys::fs, but at least don't propagate it further.
http://llvm-reviews.chandlerc.com/D2745
More information about the cfe-commits
mailing list