diff options
Diffstat (limited to 'tools/driver')
-rw-r--r-- | tools/driver/cc1as_main.cpp | 6 | ||||
-rw-r--r-- | tools/driver/driver.cpp | 6 |
2 files changed, 5 insertions, 7 deletions
diff --git a/tools/driver/cc1as_main.cpp b/tools/driver/cc1as_main.cpp index ec2332c922..2eb9ff96f1 100644 --- a/tools/driver/cc1as_main.cpp +++ b/tools/driver/cc1as_main.cpp @@ -228,13 +228,13 @@ static bool ExecuteAssembler(AssemblerInvocation &Opts, Diagnostic &Diags) { return false; } - error_code ec; - MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(Opts.InputFile, ec); - if (Buffer == 0) { + OwningPtr<MemoryBuffer> BufferPtr; + if (error_code ec = MemoryBuffer::getFileOrSTDIN(Opts.InputFile, BufferPtr)) { Error = ec.message(); Diags.Report(diag::err_fe_error_reading) << Opts.InputFile; return false; } + MemoryBuffer *Buffer = BufferPtr.take(); SourceMgr SrcMgr; diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp index 1e0aaf6258..d210a4018a 100644 --- a/tools/driver/driver.cpp +++ b/tools/driver/driver.cpp @@ -182,9 +182,8 @@ static void ExpandArgsFromBuf(const char *Arg, llvm::SmallVectorImpl<const char*> &ArgVector, std::set<std::string> &SavedStrings) { const char *FName = Arg + 1; - llvm::error_code ec; - llvm::MemoryBuffer *MemBuf = llvm::MemoryBuffer::getFile(FName, ec); - if (!MemBuf) { + llvm::OwningPtr<llvm::MemoryBuffer> MemBuf; + if (llvm::MemoryBuffer::getFile(FName, MemBuf)) { ArgVector.push_back(SaveStringInSet(SavedStrings, Arg)); return; } @@ -235,7 +234,6 @@ static void ExpandArgsFromBuf(const char *Arg, } CurArg.push_back(*P); } - delete MemBuf; } static void ExpandArgv(int argc, const char **argv, |