From 6b607dcc2e369e365b999cedfe8f3b4f21cd674c Mon Sep 17 00:00:00 2001 From: Rui Ueyama Date: Tue, 14 Feb 2017 23:58:19 +0000 Subject: [PATCH] Simplify WinCOFFObjectWriter by removing a template member function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295126 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/MC/WinCOFFObjectWriter.cpp | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/lib/MC/WinCOFFObjectWriter.cpp b/lib/MC/WinCOFFObjectWriter.cpp index 23af66c4bb1..075e27ec617 100644 --- a/lib/MC/WinCOFFObjectWriter.cpp +++ b/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 -- 2.11.0