#include "llvm/Support/raw_ostream.h"
#include <system_error>
using namespace llvm;
-using std::error_code;
static cl::list<std::string>
InputFilenames(cl::Positional, cl::desc("<input files>"),
}
static void parseMCMarkup(StringRef Filename) {
- std::unique_ptr<MemoryBuffer> BufferPtr;
- if (error_code ec = MemoryBuffer::getFileOrSTDIN(Filename, BufferPtr)) {
- errs() << ToolName << ": " << ec.message() << '\n';
+ ErrorOr<std::unique_ptr<MemoryBuffer>> BufferPtr =
+ MemoryBuffer::getFileOrSTDIN(Filename);
+ if (std::error_code EC = BufferPtr.getError()) {
+ errs() << ToolName << ": " << EC.message() << '\n';
return;
}
- MemoryBuffer *Buffer = BufferPtr.release();
+ std::unique_ptr<MemoryBuffer> &Buffer = BufferPtr.get();
SourceMgr SrcMgr;
+ StringRef InputSource = Buffer->getBuffer();
+
// Tell SrcMgr about this buffer, which is what the parser will pick up.
- SrcMgr.AddNewSourceBuffer(Buffer, SMLoc());
+ SrcMgr.AddNewSourceBuffer(std::move(Buffer), SMLoc());
- StringRef InputSource = Buffer->getBuffer();
MarkupLexer Lex(InputSource);
MarkupParser Parser(Lex, SrcMgr);