Index: lib/ReaderWriter/ELF/ARM/ARMELFFile.h =================================================================== --- lib/ReaderWriter/ELF/ARM/ARMELFFile.h +++ lib/ReaderWriter/ELF/ARM/ARMELFFile.h @@ -22,14 +22,9 @@ typedef llvm::object::Elf_Shdr_Impl Elf_Shdr; public: - ARMELFDefinedAtom(const ELFFile &file, StringRef symbolName, - StringRef sectionName, const Elf_Sym *symbol, - const Elf_Shdr *section, ArrayRef contentData, - unsigned int referenceStart, unsigned int referenceEnd, - std::vector *> &referenceList) - : ELFDefinedAtom(file, symbolName, sectionName, symbol, section, - contentData, referenceStart, referenceEnd, - referenceList) {} + template + ARMELFDefinedAtom(T&&... args) + : ELFDefinedAtom(std::forward(args)...) {} bool isThumbFunc(const Elf_Sym *symbol) const { return symbol->getType() == llvm::ELF::STT_FUNC && Index: lib/ReaderWriter/ELF/Hexagon/HexagonELFFile.h =================================================================== --- lib/ReaderWriter/ELF/Hexagon/HexagonELFFile.h +++ lib/ReaderWriter/ELF/Hexagon/HexagonELFFile.h @@ -24,14 +24,9 @@ typedef llvm::object::Elf_Shdr_Impl Elf_Shdr; public: - HexagonELFDefinedAtom(const HexagonELFFile &file, StringRef symbolName, - StringRef sectionName, const Elf_Sym *symbol, - const Elf_Shdr *section, ArrayRef contentData, - unsigned int referenceStart, unsigned int referenceEnd, - std::vector *> &referenceList) - : ELFDefinedAtom(file, symbolName, sectionName, symbol, section, - contentData, referenceStart, referenceEnd, - referenceList) {} + template + HexagonELFDefinedAtom(T&&... args) + : ELFDefinedAtom(std::forward(args)...) {} virtual DefinedAtom::ContentType contentType() const { if (this->_contentType != DefinedAtom::typeUnknown)