diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2014-05-05 21:57:46 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2014-05-05 21:57:46 +0000 |
commit | 26d56393c602df63526e878dbc5cca453601e9c5 (patch) | |
tree | 8b0369ca454315749ef93e13048368e10de04a93 /clang/lib/Basic/VirtualFileSystem.cpp | |
parent | 20a92ae3d2110ea6acbd9bbb3e9ecd2064bc34b5 (diff) | |
download | llvm-26d56393c602df63526e878dbc5cca453601e9c5.zip llvm-26d56393c602df63526e878dbc5cca453601e9c5.tar.gz llvm-26d56393c602df63526e878dbc5cca453601e9c5.tar.bz2 |
[Basic/FileManager] Propagate whether a file 'IsVolatile' to the file opening functions.
Needs llvm r208007.
llvm-svn: 208008
Diffstat (limited to 'clang/lib/Basic/VirtualFileSystem.cpp')
-rw-r--r-- | clang/lib/Basic/VirtualFileSystem.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/clang/lib/Basic/VirtualFileSystem.cpp b/clang/lib/Basic/VirtualFileSystem.cpp index 9a88cfd..94a6c3d 100644 --- a/clang/lib/Basic/VirtualFileSystem.cpp +++ b/clang/lib/Basic/VirtualFileSystem.cpp @@ -67,12 +67,14 @@ FileSystem::~FileSystem() {} error_code FileSystem::getBufferForFile(const llvm::Twine &Name, std::unique_ptr<MemoryBuffer> &Result, int64_t FileSize, - bool RequiresNullTerminator) { + bool RequiresNullTerminator, + bool IsVolatile) { std::unique_ptr<File> F; if (error_code EC = openFileForRead(Name, F)) return EC; - error_code EC = F->getBuffer(Name, Result, FileSize, RequiresNullTerminator); + error_code EC = F->getBuffer(Name, Result, FileSize, RequiresNullTerminator, + IsVolatile); return EC; } @@ -95,7 +97,8 @@ public: ErrorOr<Status> status() override; error_code getBuffer(const Twine &Name, std::unique_ptr<MemoryBuffer> &Result, int64_t FileSize = -1, - bool RequiresNullTerminator = true) override; + bool RequiresNullTerminator = true, + bool IsVolatile = false) override; error_code close() override; void setName(StringRef Name) override; }; @@ -117,10 +120,11 @@ ErrorOr<Status> RealFile::status() { error_code RealFile::getBuffer(const Twine &Name, std::unique_ptr<MemoryBuffer> &Result, - int64_t FileSize, bool RequiresNullTerminator) { + int64_t FileSize, bool RequiresNullTerminator, + bool IsVolatile) { assert(FD != -1 && "cannot get buffer for closed file"); return MemoryBuffer::getOpenFile(FD, Name.str().c_str(), Result, FileSize, - RequiresNullTerminator); + RequiresNullTerminator, IsVolatile); } // FIXME: This is terrible, we need this for ::close. |