Don't use StringRef iterator functions for data access
authorAlp Toker <alp@nuanti.com>
Sun, 6 Jul 2014 10:32:55 +0000 (10:32 +0000)
committerAlp Toker <alp@nuanti.com>
Sun, 6 Jul 2014 10:32:55 +0000 (10:32 +0000)
And also remove some redundant casts from r212371.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212397 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Object/ELF.h

index 94420d1c568e7d46dd6fa603c68f780bf3eddea8..87a8b7af1b1a63a1158573726fc271e1e8aa380b 100644 (file)
@@ -42,9 +42,8 @@ StringRef getELFRelocationTypeName(uint32_t Machine, uint32_t Type);
 inline std::pair<unsigned char, unsigned char>
 getElfArchType(StringRef Object) {
   if (Object.size() < ELF::EI_NIDENT)
-    return std::make_pair((uint8_t)ELF::ELFCLASSNONE,(uint8_t)ELF::ELFDATANONE);
-  return std::make_pair((uint8_t)Object.begin()[ELF::EI_CLASS],
-                        (uint8_t)Object.begin()[ELF::EI_DATA]);
+    return std::make_pair(ELF::ELFCLASSNONE, ELF::ELFDATANONE);
+  return std::make_pair(Object[ELF::EI_CLASS], Object[ELF::EI_DATA]);
 }
 
 template <class ELFT>
@@ -233,7 +232,7 @@ private:
   StringRef Buf;
 
   const uint8_t *base() const {
-    return reinterpret_cast<const uint8_t *>(Buf.begin());
+    return reinterpret_cast<const uint8_t *>(Buf.data());
   }
 
   const Elf_Ehdr *Header;