summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-mc/llvm-mc.cpp
diff options
context:
space:
mode:
authorMichael J. Spencer <bigcheesegs@gmail.com>2010-12-16 03:29:14 +0000
committerMichael J. Spencer <bigcheesegs@gmail.com>2010-12-16 03:29:14 +0000
commit39a0ffc3949a746d0a09c9a3e01c183c9216da04 (patch)
treed045dd753f87830314c4fede77145544f5650b6a /llvm/tools/llvm-mc/llvm-mc.cpp
parent716d01a612022608467fb7071ef4669dd326e007 (diff)
downloadbcm5719-llvm-39a0ffc3949a746d0a09c9a3e01c183c9216da04.tar.gz
bcm5719-llvm-39a0ffc3949a746d0a09c9a3e01c183c9216da04.zip
MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm.
llvm-svn: 121958
Diffstat (limited to 'llvm/tools/llvm-mc/llvm-mc.cpp')
-rw-r--r--llvm/tools/llvm-mc/llvm-mc.cpp23
1 files changed, 12 insertions, 11 deletions
diff --git a/llvm/tools/llvm-mc/llvm-mc.cpp b/llvm/tools/llvm-mc/llvm-mc.cpp
index 6bf4931cac3..87082047eef 100644
--- a/llvm/tools/llvm-mc/llvm-mc.cpp
+++ b/llvm/tools/llvm-mc/llvm-mc.cpp
@@ -168,12 +168,12 @@ static tool_output_file *GetOutputStream() {
}
static int AsLexInput(const char *ProgName) {
- error_code ec;
- MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(InputFilename, ec);
- if (Buffer == 0) {
+ OwningPtr<MemoryBuffer> BufferPtr;
+ if (error_code ec = MemoryBuffer::getFileOrSTDIN(InputFilename, BufferPtr)) {
errs() << ProgName << ": " << ec.message() << '\n';
return 1;
}
+ MemoryBuffer *Buffer = BufferPtr.take();
SourceMgr SrcMgr;
@@ -281,12 +281,12 @@ static int AssembleInput(const char *ProgName) {
if (!TheTarget)
return 1;
- error_code ec;
- MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(InputFilename, ec);
- if (Buffer == 0) {
+ OwningPtr<MemoryBuffer> BufferPtr;
+ if (error_code ec = MemoryBuffer::getFileOrSTDIN(InputFilename, BufferPtr)) {
errs() << ProgName << ": " << ec.message() << '\n';
return 1;
}
+ MemoryBuffer *Buffer = BufferPtr.take();
SourceMgr SrcMgr;
@@ -387,9 +387,8 @@ static int DisassembleInput(const char *ProgName, bool Enhanced) {
if (!TheTarget)
return 0;
- error_code ec;
- MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(InputFilename, ec);
- if (Buffer == 0) {
+ OwningPtr<MemoryBuffer> Buffer;
+ if (error_code ec = MemoryBuffer::getFileOrSTDIN(InputFilename, Buffer)) {
errs() << ProgName << ": " << ec.message() << '\n';
return 1;
}
@@ -400,9 +399,11 @@ static int DisassembleInput(const char *ProgName, bool Enhanced) {
int Res;
if (Enhanced)
- Res = Disassembler::disassembleEnhanced(TripleName, *Buffer, Out->os());
+ Res =
+ Disassembler::disassembleEnhanced(TripleName, *Buffer.take(), Out->os());
else
- Res = Disassembler::disassemble(*TheTarget, TripleName, *Buffer, Out->os());
+ Res = Disassembler::disassemble(*TheTarget, TripleName,
+ *Buffer.take(), Out->os());
// Keep output if no errors.
if (Res == 0) Out->keep();
OpenPOWER on IntegriCloud