diff options
Diffstat (limited to 'llvm/tools/llvm-dis/llvm-dis.cpp')
-rw-r--r-- | llvm/tools/llvm-dis/llvm-dis.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/llvm/tools/llvm-dis/llvm-dis.cpp b/llvm/tools/llvm-dis/llvm-dis.cpp index c26b68d7abb..3377b4286f9 100644 --- a/llvm/tools/llvm-dis/llvm-dis.cpp +++ b/llvm/tools/llvm-dis/llvm-dis.cpp @@ -137,21 +137,19 @@ static void diagnosticHandler(const DiagnosticInfo &DI, void *Context) { exit(1); } -static Expected<std::unique_ptr<Module>> openInputFile(LLVMContext &Context) { - ErrorOr<std::unique_ptr<MemoryBuffer>> MBOrErr = - MemoryBuffer::getFileOrSTDIN(InputFilename); - if (!MBOrErr) - return errorCodeToError(MBOrErr.getError()); - ErrorOr<std::unique_ptr<Module>> MOrErr = - getOwningLazyBitcodeModule(std::move(*MBOrErr), Context, - /*ShouldLazyLoadMetadata=*/true); - if (!MOrErr) - return errorCodeToError(MOrErr.getError()); +static ExitOnError ExitOnErr; + +static std::unique_ptr<Module> openInputFile(LLVMContext &Context) { + std::unique_ptr<MemoryBuffer> MB = + ExitOnErr(errorOrToExpected(MemoryBuffer::getFileOrSTDIN(InputFilename))); + std::unique_ptr<Module> M = ExitOnErr(errorOrToExpected( + getOwningLazyBitcodeModule(std::move(MB), Context, + /*ShouldLazyLoadMetadata=*/true))); if (MaterializeMetadata) - (*MOrErr)->materializeMetadata(); + ExitOnErr(M->materializeMetadata()); else - (*MOrErr)->materializeAll(); - return std::move(*MOrErr); + ExitOnErr(M->materializeAll()); + return M; } int main(int argc, char **argv) { @@ -159,6 +157,8 @@ int main(int argc, char **argv) { sys::PrintStackTraceOnErrorSignal(argv[0]); PrettyStackTraceProgram X(argc, argv); + ExitOnErr.setBanner(std::string(argv[0]) + ": error: "); + LLVMContext Context; llvm_shutdown_obj Y; // Call llvm_shutdown() on exit. |