diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-07-03 18:19:00 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-07-03 18:19:00 +0000 |
commit | ed067c45d4b668db740fbb1728200fc51f4b9b51 (patch) | |
tree | cc50ae3d78954ad1e634cbd4278eec6095a50bdb /llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp | |
parent | e2df87f24b0af7fa80789e8da15c9cef9e6996f7 (diff) | |
download | bcm5719-llvm-ed067c45d4b668db740fbb1728200fc51f4b9b51.tar.gz bcm5719-llvm-ed067c45d4b668db740fbb1728200fc51f4b9b51.zip |
Return ErrorOr from getSymbolAddress.
It can fail trying to get the section on ELF and COFF. This makes sure the
error is handled.
llvm-svn: 241366
Diffstat (limited to 'llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp')
-rw-r--r-- | llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp b/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp index c627a662a96..4e06be9e78b 100644 --- a/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp +++ b/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp @@ -207,9 +207,10 @@ static void dumpCXXData(const ObjectFile *Obj) { StringRef SecContents; if (error(Sec.getContents(SecContents))) return; - uint64_t SymAddress; - if (error(Sym.getAddress(SymAddress))) + ErrorOr<uint64_t> SymAddressOrErr = Sym.getAddress(); + if (error(SymAddressOrErr.getError())) return; + uint64_t SymAddress = *SymAddressOrErr; uint64_t SecAddress = Sec.getAddress(); uint64_t SecSize = Sec.getSize(); uint64_t SymOffset = SymAddress - SecAddress; |