]> granicus.if.org Git - clang/commitdiff
[Lex] Use WritableMemoryBuffer in ScratchBuffer.cpp
authorPavel Labath <labath@google.com>
Thu, 11 Jan 2018 10:43:45 +0000 (10:43 +0000)
committerPavel Labath <labath@google.com>
Thu, 11 Jan 2018 10:43:45 +0000 (10:43 +0000)
This avoids the need to const_cast the buffer contents to write to it.

NFCI.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@322268 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Lex/ScratchBuffer.cpp

index e0f3966fce480e7cdc3ed15edae19c8e6584c577..dc03e16daa8b66b70e9369b7a661d0f230f77b2e 100644 (file)
@@ -74,11 +74,11 @@ void ScratchBuffer::AllocScratchBuffer(unsigned RequestLen) {
 
   // Get scratch buffer. Zero-initialize it so it can be dumped into a PCH file
   // deterministically.
-  std::unique_ptr<llvm::MemoryBuffer> OwnBuf =
-      llvm::MemoryBuffer::getNewMemBuffer(RequestLen, "<scratch space>");
-  llvm::MemoryBuffer &Buf = *OwnBuf;
+  std::unique_ptr<llvm::WritableMemoryBuffer> OwnBuf =
+      llvm::WritableMemoryBuffer::getNewMemBuffer(RequestLen,
+                                                  "<scratch space>");
+  CurBuffer = OwnBuf->getBufferStart();
   FileID FID = SourceMgr.createFileID(std::move(OwnBuf));
   BufferStartLoc = SourceMgr.getLocForStartOfFile(FID);
-  CurBuffer = const_cast<char*>(Buf.getBufferStart());
   BytesUsed = 0;
 }