Explicitly pass ownership of the MemoryBuffer to AddNewSourceBuffer using std::unique_ptr

llvm-svn: 216223
diff --git a/llvm/tools/llvm-mcmarkup/llvm-mcmarkup.cpp b/llvm/tools/llvm-mcmarkup/llvm-mcmarkup.cpp
index a878f11..5654313 100644
--- a/llvm/tools/llvm-mcmarkup/llvm-mcmarkup.cpp
+++ b/llvm/tools/llvm-mcmarkup/llvm-mcmarkup.cpp
@@ -141,14 +141,15 @@
     errs() << ToolName << ": " << EC.message() << '\n';
     return;
   }
-  MemoryBuffer *Buffer = BufferPtr->release();
+  std::unique_ptr<MemoryBuffer> &Buffer = BufferPtr.get();
 
   SourceMgr SrcMgr;
 
-  // Tell SrcMgr about this buffer, which is what the parser will pick up.
-  SrcMgr.AddNewSourceBuffer(Buffer, SMLoc());
-
   StringRef InputSource = Buffer->getBuffer();
+
+  // Tell SrcMgr about this buffer, which is what the parser will pick up.
+  SrcMgr.AddNewSourceBuffer(std::move(Buffer), SMLoc());
+
   MarkupLexer Lex(InputSource);
   MarkupParser Parser(Lex, SrcMgr);