diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-01-15 01:08:23 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-01-15 01:08:23 +0000 |
commit | 0be7e6ffb1683c700d620376f318382e7a237cb2 (patch) | |
tree | 54b5ad17ec4257a3129119fac6f910af5a4acde3 /tools/llvm-nm | |
parent | cd94a7676a7f3a8b1c2ed42809b28d3319c671c1 (diff) | |
download | llvm-0be7e6ffb1683c700d620376f318382e7a237cb2.tar.gz llvm-0be7e6ffb1683c700d620376f318382e7a237cb2.tar.bz2 llvm-0be7e6ffb1683c700d620376f318382e7a237cb2.tar.xz |
Make parseBitcodeFile return an ErrorOr<Module *>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199279 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-nm')
-rw-r--r-- | tools/llvm-nm/llvm-nm.cpp | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp index 8449c29351..6822c9dbd4 100644 --- a/tools/llvm-nm/llvm-nm.cpp +++ b/tools/llvm-nm/llvm-nm.cpp @@ -570,16 +570,14 @@ static void DumpSymbolNamesFromFile(std::string &Filename) { sys::fs::file_magic magic = sys::fs::identify_magic(Buffer->getBuffer()); LLVMContext &Context = getGlobalContext(); - std::string ErrorMessage; if (magic == sys::fs::file_magic::bitcode) { - Module *Result = 0; - Result = ParseBitcodeFile(Buffer.get(), Context, &ErrorMessage); - if (Result) { + ErrorOr<Module *> ModuleOrErr = parseBitcodeFile(Buffer.get(), Context); + if (error(ModuleOrErr.getError(), Filename)) { + return; + } else { + Module *Result = ModuleOrErr.get(); DumpSymbolNamesFromModule(Result); delete Result; - } else { - error(ErrorMessage, Filename); - return; } } else if (magic == sys::fs::file_magic::archive) { OwningPtr<Binary> arch; @@ -616,11 +614,10 @@ static void DumpSymbolNamesFromFile(std::string &Filename) { OwningPtr<MemoryBuffer> buff; if (error(i->getMemoryBuffer(buff))) return; - Module *Result = 0; - if (buff) - Result = ParseBitcodeFile(buff.get(), Context, &ErrorMessage); - if (Result) { + ErrorOr<Module *> ModuleOrErr = parseBitcodeFile(buff.get(), Context); + if (ModuleOrErr) { + Module *Result = ModuleOrErr.get(); DumpSymbolNamesFromModule(Result); delete Result; } |