diff options
author | Fangrui Song <maskray@google.com> | 2019-05-14 04:22:51 +0000 |
---|---|---|
committer | Fangrui Song <maskray@google.com> | 2019-05-14 04:22:51 +0000 |
commit | e1cb2c0f404d9fe68f5f465a281be295ca24ec33 (patch) | |
tree | 7b6e58ac12ce6b1e8deb5e2542f4a95cba445585 /llvm/lib/Object/WasmObjectFile.cpp | |
parent | fe1aec0dbb1638b5ce84c9ad71d1c8bee4f1f8ac (diff) | |
download | bcm5719-llvm-e1cb2c0f404d9fe68f5f465a281be295ca24ec33.tar.gz bcm5719-llvm-e1cb2c0f404d9fe68f5f465a281be295ca24ec33.zip |
[Object] Change ObjectFile::getSectionContents to return Expected<ArrayRef<uint8_t>>
Change
std::error_code getSectionContents(DataRefImpl, StringRef &) const;
to
Expected<ArrayRef<uint8_t>> getSectionContents(DataRefImpl) const;
Many object formats use ArrayRef<uint8_t> as the underlying type, which
is generally better than StringRef to represent binary data, so change
the type to decrease the number of type conversions.
Reviewed By: ruiu, sbc100
Differential Revision: https://reviews.llvm.org/D61781
llvm-svn: 360648
Diffstat (limited to 'llvm/lib/Object/WasmObjectFile.cpp')
-rw-r--r-- | llvm/lib/Object/WasmObjectFile.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/llvm/lib/Object/WasmObjectFile.cpp b/llvm/lib/Object/WasmObjectFile.cpp index 1c56ee6652a..82aa1830dce 100644 --- a/llvm/lib/Object/WasmObjectFile.cpp +++ b/llvm/lib/Object/WasmObjectFile.cpp @@ -1427,14 +1427,12 @@ uint64_t WasmObjectFile::getSectionSize(DataRefImpl Sec) const { return S.Content.size(); } -std::error_code WasmObjectFile::getSectionContents(DataRefImpl Sec, - StringRef &Res) const { +Expected<ArrayRef<uint8_t>> +WasmObjectFile::getSectionContents(DataRefImpl Sec) const { const WasmSection &S = Sections[Sec.d.a]; // This will never fail since wasm sections can never be empty (user-sections // must have a name and non-user sections each have a defined structure). - Res = StringRef(reinterpret_cast<const char *>(S.Content.data()), - S.Content.size()); - return std::error_code(); + return S.Content; } uint64_t WasmObjectFile::getSectionAlignment(DataRefImpl Sec) const { |