aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/Archive.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Object/Archive.cpp')
-rw-r--r--llvm/lib/Object/Archive.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/llvm/lib/Object/Archive.cpp b/llvm/lib/Object/Archive.cpp
index 17d5eec..c18dd11 100644
--- a/llvm/lib/Object/Archive.cpp
+++ b/llvm/lib/Object/Archive.cpp
@@ -392,12 +392,8 @@ Archive::Child::Child(const Archive *Parent, const char *Start, Error *Err)
}
Expected<uint64_t> Archive::Child::getSize() const {
- if (Parent->IsThin) {
- Expected<uint32_t> Size = Header.getSize();
- if (!Size)
- return Size.takeError();
- return Size.get();
- }
+ if (Parent->IsThin)
+ return Header.getSize();
return Data.size() - StartOfFile;
}
@@ -437,7 +433,7 @@ Expected<StringRef> Archive::Child::getBuffer() const {
return isThinOrErr.takeError();
bool isThin = isThinOrErr.get();
if (!isThin) {
- Expected<uint32_t> Size = getSize();
+ Expected<uint64_t> Size = getSize();
if (!Size)
return Size.takeError();
return StringRef(Data.data() + StartOfFile, Size.get());