From dfc8aa8e1bc93aa612c5e1509b00693d55ecd10e Mon Sep 17 00:00:00 2001 From: Rui Ueyama Date: Tue, 14 Feb 2017 23:58:19 +0000 Subject: Simplify WinCOFFObjectWriter by removing a template member function. llvm-svn: 295126 --- llvm/lib/MC/WinCOFFObjectWriter.cpp | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) (limited to 'llvm/lib/MC/WinCOFFObjectWriter.cpp') diff --git a/llvm/lib/MC/WinCOFFObjectWriter.cpp b/llvm/lib/MC/WinCOFFObjectWriter.cpp index 23af66c4bb1..075e27ec617 100644 --- a/llvm/lib/MC/WinCOFFObjectWriter.cpp +++ b/llvm/lib/MC/WinCOFFObjectWriter.cpp @@ -161,9 +161,6 @@ public: COFFSymbol *GetOrCreateCOFFSymbol(const MCSymbol *Symbol); COFFSection *createSection(StringRef Name); - template - object_t *createCOFFEntity(StringRef Name, list_t &List); - void defineSection(MCSectionCOFF const &Sec); COFFSymbol *getLinkedSymbol(const MCSymbol &Symbol); @@ -226,27 +223,20 @@ WinCOFFObjectWriter::WinCOFFObjectWriter(MCWinCOFFObjectTargetWriter *MOTW, } COFFSymbol *WinCOFFObjectWriter::createSymbol(StringRef Name) { - return createCOFFEntity(Name, Symbols); + Symbols.push_back(make_unique(Name)); + return Symbols.back().get(); } COFFSymbol *WinCOFFObjectWriter::GetOrCreateCOFFSymbol(const MCSymbol *Symbol) { COFFSymbol *&Ret = SymbolMap[Symbol]; if (!Ret) - Ret = createCOFFEntity(Symbol->getName(), Symbols); + Ret = createSymbol(Symbol->getName()); return Ret; } COFFSection *WinCOFFObjectWriter::createSection(StringRef Name) { - return createCOFFEntity(Name, Sections); -} - -/// A template used to lookup or create a symbol/section, and initialize it if -/// needed. -template -object_t *WinCOFFObjectWriter::createCOFFEntity(StringRef Name, list_t &List) { - List.push_back(make_unique(Name)); - - return List.back().get(); + Sections.emplace_back(make_unique(Name)); + return Sections.back().get(); } /// This function takes a section data object from the assembler -- cgit v1.2.3