aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/ObjectFile.cpp
diff options
context:
space:
mode:
authorXing GUO <higuoxing@gmail.com>2020-05-02 14:04:04 +0800
committerXing GUO <higuoxing@gmail.com>2020-05-02 14:04:44 +0800
commitff6a0b6a8ee74693e9711973028a8a327adf9cd5 (patch)
tree15d2e5e83be00a3237b788025c9afb5be46c945f /llvm/lib/Object/ObjectFile.cpp
parent8fa4d4a43cc762dd41018bd5959e0302cd908114 (diff)
downloadllvm-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.cpp6
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);
}