Pass a MemoryBufferRef when we can avoid taking ownership.
[oota-llvm.git] / lib / Support / MemoryBuffer.cpp
index 27edce67361fb483edf3bb05d2b5df82788f8688..9bb6b42466bfac5727900e7926fd1c746225f960 100644 (file)
@@ -103,6 +103,12 @@ MemoryBuffer *MemoryBuffer::getMemBuffer(StringRef InputData,
       MemoryBufferMem(InputData, RequiresNullTerminator);
 }
 
+std::unique_ptr<MemoryBuffer>
+MemoryBuffer::getMemBuffer(MemoryBufferRef Ref, bool RequiresNullTerminator) {
+  return std::unique_ptr<MemoryBuffer>(getMemBuffer(
+      Ref.getBuffer(), Ref.getBufferIdentifier(), RequiresNullTerminator));
+}
+
 /// getMemBufferCopy - Open the specified memory range as a MemoryBuffer,
 /// copying the contents and taking ownership of it.  This has no requirements
 /// on EndPtr[0].