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

@@ -180,10 +180,10 @@ const char *LLVMGetSymbolName(LLVMSymbolIteratorRef SI) {
}
uint64_t LLVMGetSymbolAddress(LLVMSymbolIteratorRef SI) {
uint64_t ret;
if (std::error_code ec = (*unwrap(SI))->getAddress(ret))
report_fatal_error(ec.message());
return ret;
ErrorOr<uint64_t> Ret = (*unwrap(SI))->getAddress();
if (std::error_code EC = Ret.getError())
report_fatal_error(EC.message());
return *Ret;
}
uint64_t LLVMGetSymbolSize(LLVMSymbolIteratorRef SI) {