diff options
author | Xing GUO <higuoxing@gmail.com> | 2020-05-02 14:04:04 +0800 |
---|---|---|
committer | Xing GUO <higuoxing@gmail.com> | 2020-05-02 14:04:44 +0800 |
commit | ff6a0b6a8ee74693e9711973028a8a327adf9cd5 (patch) | |
tree | 15d2e5e83be00a3237b788025c9afb5be46c945f /llvm/lib/Object/ObjectFile.cpp | |
parent | 8fa4d4a43cc762dd41018bd5959e0302cd908114 (diff) | |
download | llvm-ff6a0b6a8ee74693e9711973028a8a327adf9cd5.zip llvm-ff6a0b6a8ee74693e9711973028a8a327adf9cd5.tar.gz llvm-ff6a0b6a8ee74693e9711973028a8a327adf9cd5.tar.bz2 |
[Object] Change ObjectFile::getSymbolValue() return type to Expected<uint64_t>
Summary:
In D77860, we have changed `getSymbolFlags()` return type to `Expected<uint32_t>`.
This change helps bubble the error further up the stack.
Reviewers: jhenderson, grimar, JDevlieghere, MaskRay
Reviewed By: jhenderson
Subscribers: hiraditya, MaskRay, rupprecht, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D79075
Diffstat (limited to 'llvm/lib/Object/ObjectFile.cpp')
-rw-r--r-- | llvm/lib/Object/ObjectFile.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Object/ObjectFile.cpp b/llvm/lib/Object/ObjectFile.cpp index fe90378..61b36ea 100644 --- a/llvm/lib/Object/ObjectFile.cpp +++ b/llvm/lib/Object/ObjectFile.cpp @@ -54,15 +54,15 @@ bool SectionRef::containsSymbol(SymbolRef S) const { return *this == **SymSec; } -uint64_t ObjectFile::getSymbolValue(DataRefImpl Ref) const { +Expected<uint64_t> ObjectFile::getSymbolValue(DataRefImpl Ref) const { if (Expected<uint32_t> FlagsOrErr = getSymbolFlags(Ref)) { if (*FlagsOrErr & SymbolRef::SF_Undefined) return 0; if (*FlagsOrErr & SymbolRef::SF_Common) return getCommonSymbolSize(Ref); } else - // TODO: Actually report errors helpfully. - report_fatal_error(FlagsOrErr.takeError()); + // TODO: Test this error. + return FlagsOrErr.takeError(); return getSymbolValueImpl(Ref); } |