Remove unused variable.
[oota-llvm.git] / lib / Object / COFFObjectFile.cpp
index 72a6db4aab9a57979e92cd994027d258319c1b04..3beab00ed7d53af55c7b3bd0042745e315f92679 100644 (file)
@@ -271,8 +271,7 @@ uint64_t COFFObjectFile::getSectionAddress(DataRefImpl Ref) const {
 }
 
 uint64_t COFFObjectFile::getSectionSize(DataRefImpl Ref) const {
-  const coff_section *Sec = toSec(Ref);
-  return Sec->SizeOfRawData;
+  return getSectionSize(toSec(Ref));
 }
 
 std::error_code COFFObjectFile::getSectionContents(DataRefImpl Ref,
@@ -866,17 +865,7 @@ std::error_code COFFObjectFile::getSectionName(const coff_section *Sec,
   return object_error::success;
 }
 
-std::error_code
-COFFObjectFile::getSectionContents(const coff_section *Sec,
-                                   ArrayRef<uint8_t> &Res) const {
-  // PointerToRawData and SizeOfRawData won't make sense for BSS sections,
-  // don't do anything interesting for them.
-  assert((Sec->Characteristics & COFF::IMAGE_SCN_CNT_UNINITIALIZED_DATA) == 0 &&
-         "BSS sections don't have contents!");
-  // The only thing that we need to verify is that the contents is contained
-  // within the file bounds. We don't need to make sure it doesn't cover other
-  // data, as there's nothing that says that is not allowed.
-  uintptr_t ConStart = uintptr_t(base()) + Sec->PointerToRawData;
+uint64_t COFFObjectFile::getSectionSize(const coff_section *Sec) const {
   // SizeOfRawData and VirtualSize change what they represent depending on
   // whether or not we have an executable image.
   //
@@ -887,15 +876,31 @@ COFFObjectFile::getSectionContents(const coff_section *Sec,
   // actual section size is in VirtualSize.  It is possible for VirtualSize to
   // be greater than SizeOfRawData; the contents past that point should be
   // considered to be zero.
-  uint32_t DataSize;
+  uint32_t SectionSize;
   if (Sec->VirtualSize)
-    DataSize = std::min(Sec->VirtualSize, Sec->SizeOfRawData);
+    SectionSize = std::min(Sec->VirtualSize, Sec->SizeOfRawData);
   else
-    DataSize = Sec->SizeOfRawData;
-  uintptr_t ConEnd = ConStart + DataSize;
+    SectionSize = Sec->SizeOfRawData;
+
+  return SectionSize;
+}
+
+std::error_code
+COFFObjectFile::getSectionContents(const coff_section *Sec,
+                                   ArrayRef<uint8_t> &Res) const {
+  // PointerToRawData and SizeOfRawData won't make sense for BSS sections,
+  // don't do anything interesting for them.
+  assert((Sec->Characteristics & COFF::IMAGE_SCN_CNT_UNINITIALIZED_DATA) == 0 &&
+         "BSS sections don't have contents!");
+  // The only thing that we need to verify is that the contents is contained
+  // within the file bounds. We don't need to make sure it doesn't cover other
+  // data, as there's nothing that says that is not allowed.
+  uintptr_t ConStart = uintptr_t(base()) + Sec->PointerToRawData;
+  uint32_t SectionSize = getSectionSize(Sec);
+  uintptr_t ConEnd = ConStart + SectionSize;
   if (ConEnd > uintptr_t(Data.getBufferEnd()))
     return object_error::parse_failed;
-  Res = makeArrayRef(reinterpret_cast<const uint8_t *>(ConStart), DataSize);
+  Res = makeArrayRef(reinterpret_cast<const uint8_t *>(ConStart), SectionSize);
   return object_error::success;
 }