From 9aaf5d3e717e14d0a06fd6598c988537791e55b9 Mon Sep 17 00:00:00 2001 From: Pavel Labath Date: Tue, 9 Jan 2018 17:26:06 +0000 Subject: [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 --- llvm/lib/Object/WindowsResource.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'llvm/lib/Object/WindowsResource.cpp') diff --git a/llvm/lib/Object/WindowsResource.cpp b/llvm/lib/Object/WindowsResource.cpp index 271224ec631..1b7282f13db 100644 --- a/llvm/lib/Object/WindowsResource.cpp +++ b/llvm/lib/Object/WindowsResource.cpp @@ -334,7 +334,7 @@ private: void writeDirectoryTree(); void writeDirectoryStringTable(); void writeFirstSectionRelocations(); - std::unique_ptr OutputBuffer; + std::unique_ptr OutputBuffer; char *BufferStart; uint64_t CurrentOffset = 0; COFF::MachineTypes MachineType; @@ -360,7 +360,7 @@ WindowsResourceCOFFWriter::WindowsResourceCOFFWriter( Data(Parser.getData()), StringTable(Parser.getStringTable()) { performFileLayout(); - OutputBuffer = MemoryBuffer::getNewMemBuffer(FileSize); + OutputBuffer = WritableMemoryBuffer::getNewMemBuffer(FileSize); } void WindowsResourceCOFFWriter::performFileLayout() { @@ -425,7 +425,7 @@ static std::time_t getTime() { } std::unique_ptr WindowsResourceCOFFWriter::write() { - BufferStart = const_cast(OutputBuffer->getBufferStart()); + BufferStart = OutputBuffer->getBufferStart(); writeCOFFHeader(); writeFirstSectionHeader(); -- cgit v1.2.3