[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