diff options
author | Pavel Labath <labath@google.com> | 2018-01-09 17:26:06 +0000 |
---|---|---|
committer | Pavel Labath <labath@google.com> | 2018-01-09 17:26:06 +0000 |
commit | 9aaf5d3e717e14d0a06fd6598c988537791e55b9 (patch) | |
tree | 3d93df7c89be1ab3877e63137e396807779622fc /llvm/lib/Support/MemoryBuffer.cpp | |
parent | 40bab3755112a37df15c4fbc8b9664366cd86ec0 (diff) | |
download | bcm5719-llvm-9aaf5d3e717e14d0a06fd6598c988537791e55b9.tar.gz bcm5719-llvm-9aaf5d3e717e14d0a06fd6598c988537791e55b9.zip |
[Support] Add WritableMemoryBuffer::getNewMemBuffer
Summary:
The idea is that it would replace
(non-Writable)MemoryBuffer::getNewMemBuffer, which is quite useless
unless you const_cast its contents to write to it (which all (both)
callers of this function were doing). This patch also fixes one of the usages in
COFFWriter. After fixing the other usage in clang, I plan to delete the old
function.
Reviewers: dblaikie, Bigcheese
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D41540
llvm-svn: 322094
Diffstat (limited to 'llvm/lib/Support/MemoryBuffer.cpp')
-rw-r--r-- | llvm/lib/Support/MemoryBuffer.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/llvm/lib/Support/MemoryBuffer.cpp b/llvm/lib/Support/MemoryBuffer.cpp index c709fc416df..834ca8cbfd8 100644 --- a/llvm/lib/Support/MemoryBuffer.cpp +++ b/llvm/lib/Support/MemoryBuffer.cpp @@ -141,11 +141,7 @@ MemoryBuffer::getMemBufferCopy(StringRef InputData, const Twine &BufferName) { std::unique_ptr<MemoryBuffer> MemoryBuffer::getNewMemBuffer(size_t Size, StringRef BufferName) { - auto SB = WritableMemoryBuffer::getNewUninitMemBuffer(Size, BufferName); - if (!SB) - return nullptr; - memset(SB->getBufferStart(), 0, Size); - return std::move(SB); + return WritableMemoryBuffer::getNewMemBuffer(Size, BufferName); } ErrorOr<std::unique_ptr<MemoryBuffer>> @@ -306,6 +302,15 @@ WritableMemoryBuffer::getNewUninitMemBuffer(size_t Size, const Twine &BufferName return std::unique_ptr<WritableMemoryBuffer>(Ret); } +std::unique_ptr<WritableMemoryBuffer> +WritableMemoryBuffer::getNewMemBuffer(size_t Size, const Twine &BufferName) { + auto SB = WritableMemoryBuffer::getNewUninitMemBuffer(Size, BufferName); + if (!SB) + return nullptr; + memset(SB->getBufferStart(), 0, Size); + return SB; +} + static bool shouldUseMmap(int FD, size_t FileSize, size_t MapSize, |