diff options
author | Michael J. Spencer <bigcheesegs@gmail.com> | 2010-12-16 03:29:14 +0000 |
---|---|---|
committer | Michael J. Spencer <bigcheesegs@gmail.com> | 2010-12-16 03:29:14 +0000 |
commit | 3ff9563c3e391954b2e224afcf8b2b0fcc3888aa (patch) | |
tree | cccde9111a73ba5895f6cefbfb280290fa6c469d /tools | |
parent | b29b20e7deb7297f6a10b2d6922feeca8c6df055 (diff) | |
download | llvm-3ff9563c3e391954b2e224afcf8b2b0fcc3888aa.tar.gz llvm-3ff9563c3e391954b2e224afcf8b2b0fcc3888aa.tar.bz2 llvm-3ff9563c3e391954b2e224afcf8b2b0fcc3888aa.tar.xz |
MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121958 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r-- | tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp | 10 | ||||
-rw-r--r-- | tools/llvm-dis/llvm-dis.cpp | 9 | ||||
-rw-r--r-- | tools/llvm-mc/llvm-mc.cpp | 23 | ||||
-rw-r--r-- | tools/llvm-nm/llvm-nm.cpp | 6 | ||||
-rw-r--r-- | tools/llvm-prof/llvm-prof.cpp | 6 | ||||
-rw-r--r-- | tools/lto/LTOCodeGenerator.cpp | 6 | ||||
-rw-r--r-- | tools/lto/LTOModule.cpp | 14 | ||||
-rw-r--r-- | tools/macho-dump/macho-dump.cpp | 6 |
8 files changed, 38 insertions, 42 deletions
diff --git a/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp b/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp index e6c82a326a..604477e79c 100644 --- a/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp +++ b/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp @@ -27,6 +27,7 @@ // //===----------------------------------------------------------------------===// +#include "llvm/ADT/OwningPtr.h" #include "llvm/Analysis/Verifier.h" #include "llvm/Bitcode/BitstreamReader.h" #include "llvm/Bitcode/LLVMBitCodes.h" @@ -58,7 +59,7 @@ static cl::opt<bool> NoHistogram("disable-histogram", static cl::opt<bool> NonSymbolic("non-symbolic", - cl::desc("Emit numberic info in dump even if" + cl::desc("Emit numeric info in dump even if" " symbolic info is available")); namespace { @@ -481,11 +482,10 @@ static void PrintSize(uint64_t Bits) { /// AnalyzeBitcode - Analyze the bitcode file specified by InputFilename. static int AnalyzeBitcode() { // Read the input file. - error_code ec; - MemoryBuffer *MemBuf = - MemoryBuffer::getFileOrSTDIN(InputFilename.c_str(), ec); + OwningPtr<MemoryBuffer> MemBuf; - if (MemBuf == 0) + if (error_code ec = + MemoryBuffer::getFileOrSTDIN(InputFilename.c_str(), MemBuf)) return Error("Error reading '" + InputFilename + "': " + ec.message()); if (MemBuf->getBufferSize() & 3) diff --git a/tools/llvm-dis/llvm-dis.cpp b/tools/llvm-dis/llvm-dis.cpp index 781bca95ea..7a72cec753 100644 --- a/tools/llvm-dis/llvm-dis.cpp +++ b/tools/llvm-dis/llvm-dis.cpp @@ -81,12 +81,13 @@ int main(int argc, char **argv) { std::string ErrorMessage; error_code ec; std::auto_ptr<Module> M; + OwningPtr<MemoryBuffer> BufferPtr; - if (MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(InputFilename, ec)) { - M.reset(ParseBitcodeFile(Buffer, Context, &ErrorMessage)); - delete Buffer; - } else + if (ec = MemoryBuffer::getFileOrSTDIN(InputFilename, BufferPtr)) ErrorMessage = ec.message(); + else + M.reset(ParseBitcodeFile(BufferPtr.get(), Context, &ErrorMessage)); + MemoryBuffer *Buffer = BufferPtr.take(); if (M.get() == 0) { errs() << argv[0] << ": "; diff --git a/tools/llvm-mc/llvm-mc.cpp b/tools/llvm-mc/llvm-mc.cpp index 6bf4931cac..87082047ee 100644 --- a/tools/llvm-mc/llvm-mc.cpp +++ b/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(); diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp index 16615964a3..7daf792c71 100644 --- a/tools/llvm-nm/llvm-nm.cpp +++ b/tools/llvm-nm/llvm-nm.cpp @@ -144,10 +144,8 @@ static void DumpSymbolNamesFromFile(std::string &Filename) { sys::Path aPath(Filename); // Note: Currently we do not support reading an archive from stdin. if (Filename == "-" || aPath.isBitcodeFile()) { - error_code ec; - std::auto_ptr<MemoryBuffer> Buffer( - MemoryBuffer::getFileOrSTDIN(Filename, ec)); - if (Buffer.get() == 0) + OwningPtr<MemoryBuffer> Buffer; + if (error_code ec = MemoryBuffer::getFileOrSTDIN(Filename, Buffer)) ErrorMessage = ec.message(); Module *Result = 0; if (Buffer.get()) diff --git a/tools/llvm-prof/llvm-prof.cpp b/tools/llvm-prof/llvm-prof.cpp index aa9cf004c7..9d0b46833b 100644 --- a/tools/llvm-prof/llvm-prof.cpp +++ b/tools/llvm-prof/llvm-prof.cpp @@ -264,11 +264,11 @@ int main(int argc, char **argv) { // Read in the bitcode file... std::string ErrorMessage; + OwningPtr<MemoryBuffer> Buffer; error_code ec; Module *M = 0; - if (MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(BitcodeFile, ec)) { - M = ParseBitcodeFile(Buffer, Context, &ErrorMessage); - delete Buffer; + if (!(ec = MemoryBuffer::getFileOrSTDIN(BitcodeFile, Buffer))) { + M = ParseBitcodeFile(Buffer.get(), Context, &ErrorMessage); } else ErrorMessage = ec.message(); if (M == 0) { diff --git a/tools/lto/LTOCodeGenerator.cpp b/tools/lto/LTOCodeGenerator.cpp index d49e6a77b3..439bac19f6 100644 --- a/tools/lto/LTOCodeGenerator.cpp +++ b/tools/lto/LTOCodeGenerator.cpp @@ -224,10 +224,10 @@ const void* LTOCodeGenerator::compile(size_t* length, std::string& errMsg) delete _nativeObjectFile; // read .o file into memory buffer - error_code ec; - _nativeObjectFile = MemoryBuffer::getFile(uniqueObjStr.c_str(), ec); - if (ec) + OwningPtr<MemoryBuffer> BuffPtr; + if (error_code ec = MemoryBuffer::getFile(uniqueObjStr.c_str(),BuffPtr)) errMsg = ec.message(); + _nativeObjectFile = BuffPtr.take(); } // remove temp files diff --git a/tools/lto/LTOModule.cpp b/tools/lto/LTOModule.cpp index a33b8b473e..59c8b3517f 100644 --- a/tools/lto/LTOModule.cpp +++ b/tools/lto/LTOModule.cpp @@ -57,18 +57,17 @@ bool LTOModule::isBitcodeFileForTarget(const void *mem, size_t length, bool LTOModule::isBitcodeFileForTarget(const char *path, const char *triplePrefix) { - error_code ec; - MemoryBuffer *buffer = MemoryBuffer::getFile(path, ec); - if (buffer == NULL) + OwningPtr<MemoryBuffer> buffer; + if (MemoryBuffer::getFile(path, buffer)) return false; - return isTargetMatch(buffer, triplePrefix); + return isTargetMatch(buffer.take(), triplePrefix); } // Takes ownership of buffer. bool LTOModule::isTargetMatch(MemoryBuffer *buffer, const char *triplePrefix) { std::string Triple = getBitcodeTargetTriple(buffer, getGlobalContext()); delete buffer; - return (strncmp(Triple.c_str(), triplePrefix, + return (strncmp(Triple.c_str(), triplePrefix, strlen(triplePrefix)) == 0); } @@ -80,9 +79,8 @@ LTOModule::LTOModule(Module *m, TargetMachine *t) LTOModule *LTOModule::makeLTOModule(const char *path, std::string &errMsg) { - error_code ec; - OwningPtr<MemoryBuffer> buffer(MemoryBuffer::getFile(path, ec)); - if (!buffer) { + OwningPtr<MemoryBuffer> buffer; + if (error_code ec = MemoryBuffer::getFile(path, buffer)) { errMsg = ec.message(); return NULL; } diff --git a/tools/macho-dump/macho-dump.cpp b/tools/macho-dump/macho-dump.cpp index f4854bec47..c4c558d9ac 100644 --- a/tools/macho-dump/macho-dump.cpp +++ b/tools/macho-dump/macho-dump.cpp @@ -366,10 +366,8 @@ int main(int argc, char **argv) { // Load the input file. std::string ErrorStr; - error_code ec; - OwningPtr<MemoryBuffer> InputBuffer( - MemoryBuffer::getFileOrSTDIN(InputFile, ec)); - if (!InputBuffer) + OwningPtr<MemoryBuffer> InputBuffer; + if (error_code ec = MemoryBuffer::getFileOrSTDIN(InputFile, InputBuffer)) return Error("unable to read input: '" + ec.message() + "'"); // Construct the Mach-O wrapper object. |