Archive members cannot be larger than 4GB. Return a uint32_t.
[oota-llvm.git] / lib / Object / Archive.cpp
index 14b21fd63612320ae7c02885c0d932c6a4ac7c87..52578943decd2d294540f9cae93f7ba091fa5b3b 100644 (file)
@@ -54,11 +54,11 @@ StringRef ArchiveMemberHeader::getName() const {
   return llvm::StringRef(Name, end);
 }
 
-uint64_t ArchiveMemberHeader::getSize() const {
-  uint64_t ret;
-  if (llvm::StringRef(Size, sizeof(Size)).rtrim(" ").getAsInteger(10, ret))
-    llvm_unreachable("Size is not an integer.");
-  return ret;
+uint32_t ArchiveMemberHeader::getSize() const {
+  uint32_t Ret;
+  if (llvm::StringRef(Size, sizeof(Size)).rtrim(" ").getAsInteger(10, Ret))
+    llvm_unreachable("Size is not a decimal number.");
+  return Ret;
 }
 
 static const ArchiveMemberHeader *toHeader(const char *base) {