case STB_GLOBAL:
if (Sym->isUndefined())
return new (Alloc) Undefined(Name);
- return new (Alloc) DefinedRegular<ELFT>(Name);
+ return new (Alloc) DefinedRegular(Name);
case STB_WEAK:
// FIXME: add support for weak undefined
- return new (Alloc) DefinedWeak<ELFT>(Name);
+ return new (Alloc) DefinedWeak(Name);
}
}
using namespace lld;
using namespace lld::elf2;
-template <class ELFT>
-DefinedRegular<ELFT>::DefinedRegular(StringRef Name)
+DefinedRegular::DefinedRegular(StringRef Name)
: Defined(DefinedRegularKind, Name) {}
-template <class ELFT>
-DefinedWeak<ELFT>::DefinedWeak(StringRef Name)
- : Defined(DefinedWeakKind, Name) {}
+DefinedWeak::DefinedWeak(StringRef Name) : Defined(DefinedWeakKind, Name) {}
// Returns 1, 0 or -1 if this symbol should take precedence
// over the Other, tie or lose, respectively.
}
llvm_unreachable("unknown symbol kind");
}
-
-namespace lld {
-namespace elf2 {
-template class DefinedRegular<llvm::object::ELF32LE>;
-template class DefinedRegular<llvm::object::ELF32BE>;
-template class DefinedRegular<llvm::object::ELF64LE>;
-template class DefinedRegular<llvm::object::ELF64BE>;
-
-template class DefinedWeak<llvm::object::ELF32LE>;
-template class DefinedWeak<llvm::object::ELF32BE>;
-template class DefinedWeak<llvm::object::ELF64LE>;
-template class DefinedWeak<llvm::object::ELF64BE>;
-}
-}
};
// Regular defined symbols read from object file symbol tables.
-template <class ELFT> class DefinedRegular : public Defined {
+class DefinedRegular : public Defined {
public:
DefinedRegular(StringRef Name);
}
};
-template <class ELFT> class DefinedWeak : public Defined {
+class DefinedWeak : public Defined {
public:
DefinedWeak(StringRef Name);