diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-23 20:41:02 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-23 20:41:02 +0000 |
commit | 2da970364f190876f204da5fdcf4eb9bce201255 (patch) | |
tree | 143dc52bf65da7cdab4a7f936997c995674f8a81 /tools/llvm-symbolizer/LLVMSymbolize.cpp | |
parent | 0da818cdbb0a4b01e8d59f1050da8b4b2ea5624c (diff) | |
download | llvm-2da970364f190876f204da5fdcf4eb9bce201255.tar.gz llvm-2da970364f190876f204da5fdcf4eb9bce201255.tar.bz2 llvm-2da970364f190876f204da5fdcf4eb9bce201255.tar.xz |
Convert a few methods to use ErrorOr.
It used to be inconvenient to mix ErrorOr and UniquePtr, but with c++11
they work OK together.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211532 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-symbolizer/LLVMSymbolize.cpp')
-rw-r--r-- | tools/llvm-symbolizer/LLVMSymbolize.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/tools/llvm-symbolizer/LLVMSymbolize.cpp b/tools/llvm-symbolizer/LLVMSymbolize.cpp index dd9ffc1fb8..ebbae39a57 100644 --- a/tools/llvm-symbolizer/LLVMSymbolize.cpp +++ b/tools/llvm-symbolizer/LLVMSymbolize.cpp @@ -349,10 +349,11 @@ LLVMSymbolizer::getObjectFileFromBinary(Binary *Bin, const std::string &ArchName std::make_pair(UB, ArchName)); if (I != ObjectFileForArch.end()) return I->second; - std::unique_ptr<ObjectFile> ParsedObj; - if (!UB->getObjectForArch(Triple(ArchName).getArch(), ParsedObj)) { - Res = ParsedObj.get(); - ParsedBinariesAndObjects.push_back(std::move(ParsedObj)); + ErrorOr<std::unique_ptr<ObjectFile>> ParsedObj = + UB->getObjectForArch(Triple(ArchName).getArch()); + if (ParsedObj) { + Res = ParsedObj.get().get(); + ParsedBinariesAndObjects.push_back(std::move(ParsedObj.get())); } ObjectFileForArch[std::make_pair(UB, ArchName)] = Res; } else if (Bin->isObject()) { |