[lld] r250139 - Remove the EKind member variable.

Rafael Espindola via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 12 18:17:03 PDT 2015


Author: rafael
Date: Mon Oct 12 20:17:02 2015
New Revision: 250139

URL: http://llvm.org/viewvc/llvm-project?rev=250139&view=rev
Log:
Remove the EKind member variable.

Now that the base class is templated, it is redundant with the type.

Modified:
    lld/trunk/ELF/InputFiles.cpp
    lld/trunk/ELF/InputFiles.h

Modified: lld/trunk/ELF/InputFiles.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputFiles.cpp?rev=250139&r1=250138&r2=250139&view=diff
==============================================================================
--- lld/trunk/ELF/InputFiles.cpp (original)
+++ lld/trunk/ELF/InputFiles.cpp Mon Oct 12 20:17:02 2015
@@ -32,8 +32,8 @@ public:
 }
 
 template <class ELFT>
-ELFFileBase<ELFT>::ELFFileBase(Kind K, ELFKind EKind, MemoryBufferRef M)
-    : InputFile(K, M), EKind(EKind), ELFObj(MB.getBuffer(), ECRAII().getEC()) {}
+ELFFileBase<ELFT>::ELFFileBase(Kind K, MemoryBufferRef M)
+    : InputFile(K, M), ELFObj(MB.getBuffer(), ECRAII().getEC()) {}
 
 template <class ELFT>
 typename ELFFileBase<ELFT>::Elf_Sym_Range
@@ -67,7 +67,7 @@ ELFFileBase<ELFT>::getNonLocalSymbols()
 
 template <class ELFT>
 ObjectFile<ELFT>::ObjectFile(MemoryBufferRef M)
-    : ELFFileBase<ELFT>(Base::ObjectKind, Base::getStaticELFKind(), M) {}
+    : ELFFileBase<ELFT>(Base::ObjectKind, M) {}
 
 template <class ELFT>
 typename ObjectFile<ELFT>::Elf_Sym_Range ObjectFile<ELFT>::getLocalSymbols() {
@@ -258,7 +258,7 @@ std::vector<MemoryBufferRef> ArchiveFile
 
 template <class ELFT>
 SharedFile<ELFT>::SharedFile(MemoryBufferRef M)
-    : ELFFileBase<ELFT>(Base::SharedKind, Base::getStaticELFKind(), M) {
+    : ELFFileBase<ELFT>(Base::SharedKind, M) {
   AsNeeded = Config->AsNeeded;
 }
 

Modified: lld/trunk/ELF/InputFiles.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputFiles.h?rev=250139&r1=250138&r2=250139&view=diff
==============================================================================
--- lld/trunk/ELF/InputFiles.h (original)
+++ lld/trunk/ELF/InputFiles.h Mon Oct 12 20:17:02 2015
@@ -51,13 +51,22 @@ public:
   typedef typename llvm::object::ELFFile<ELFT>::Elf_Shdr Elf_Shdr;
   typedef typename llvm::object::ELFFile<ELFT>::Elf_Sym_Range Elf_Sym_Range;
 
-  ELFFileBase(Kind K, ELFKind EKind, MemoryBufferRef M);
+  ELFFileBase(Kind K, MemoryBufferRef M);
   static bool classof(const InputFile *F) {
     Kind K = F->kind();
     return K == ObjectKind || K == SharedKind;
   }
 
-  ELFKind getELFKind() const { return EKind; }
+  static ELFKind getELFKind() {
+    if (!ELFT::Is64Bits) {
+      if (ELFT::TargetEndianness == llvm::support::little)
+        return ELF32LEKind;
+      return ELF32BEKind;
+    }
+    if (ELFT::TargetEndianness == llvm::support::little)
+      return ELF64LEKind;
+    return ELF64BEKind;
+  }
 
   const llvm::object::ELFFile<ELFT> &getObj() const { return ELFObj; }
   llvm::object::ELFFile<ELFT> &getObj() { return ELFObj; }
@@ -70,18 +79,6 @@ public:
   StringRef getStringTable() const { return StringTable; }
 
 protected:
-  static ELFKind getStaticELFKind() {
-    if (!ELFT::Is64Bits) {
-      if (ELFT::TargetEndianness == llvm::support::little)
-        return ELF32LEKind;
-      return ELF32BEKind;
-    }
-    if (ELFT::TargetEndianness == llvm::support::little)
-      return ELF64LEKind;
-    return ELF64BEKind;
-  }
-
-  const ELFKind EKind;
   llvm::object::ELFFile<ELFT> ELFObj;
   const Elf_Shdr *Symtab = nullptr;
   StringRef StringTable;
@@ -105,8 +102,7 @@ template <class ELFT> class ObjectFile :
 
 public:
   static bool classof(const InputFile *F) {
-    return F->kind() == Base::ObjectKind &&
-           cast<ELFFileBase<ELFT>>(F)->getELFKind() == Base::getStaticELFKind();
+    return F->kind() == Base::ObjectKind;
   }
 
   ArrayRef<SymbolBody *> getSymbols() { return this->SymbolBodies; }
@@ -182,8 +178,7 @@ public:
   }
 
   static bool classof(const InputFile *F) {
-    return F->kind() == Base::SharedKind &&
-           cast<ELFFileBase<ELFT>>(F)->getELFKind() == Base::getStaticELFKind();
+    return F->kind() == Base::SharedKind;
   }
 
   explicit SharedFile(MemoryBufferRef M);




More information about the llvm-commits mailing list