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
This commit is contained in:
Rafael Espindola
2015-07-03 18:19:00 +00:00
parent e2df87f24b
commit ed067c45d4
18 changed files with 80 additions and 61 deletions

View File

@@ -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;