diff options
author | Rui Ueyama <ruiu@google.com> | 2017-02-14 23:58:19 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2017-02-14 23:58:19 +0000 |
commit | dfc8aa8e1bc93aa612c5e1509b00693d55ecd10e (patch) | |
tree | 48f13ca5f9218064d2c8aff0fc18ab9194cb793e /llvm/lib/MC/WinCOFFObjectWriter.cpp | |
parent | ba05737f1f7eb08513b0cd3a109662bf5c4d2c1f (diff) | |
download | bcm5719-llvm-dfc8aa8e1bc93aa612c5e1509b00693d55ecd10e.tar.gz bcm5719-llvm-dfc8aa8e1bc93aa612c5e1509b00693d55ecd10e.zip |
Simplify WinCOFFObjectWriter by removing a template member function.
llvm-svn: 295126
Diffstat (limited to 'llvm/lib/MC/WinCOFFObjectWriter.cpp')
-rw-r--r-- | llvm/lib/MC/WinCOFFObjectWriter.cpp | 20 |
1 files changed, 5 insertions, 15 deletions
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 <typename object_t, typename list_t> - 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<COFFSymbol>(Name, Symbols); + Symbols.push_back(make_unique<COFFSymbol>(Name)); + return Symbols.back().get(); } COFFSymbol *WinCOFFObjectWriter::GetOrCreateCOFFSymbol(const MCSymbol *Symbol) { COFFSymbol *&Ret = SymbolMap[Symbol]; if (!Ret) - Ret = createCOFFEntity<COFFSymbol>(Symbol->getName(), Symbols); + Ret = createSymbol(Symbol->getName()); return Ret; } COFFSection *WinCOFFObjectWriter::createSection(StringRef Name) { - return createCOFFEntity<COFFSection>(Name, Sections); -} - -/// A template used to lookup or create a symbol/section, and initialize it if -/// needed. -template <typename object_t, typename list_t> -object_t *WinCOFFObjectWriter::createCOFFEntity(StringRef Name, list_t &List) { - List.push_back(make_unique<object_t>(Name)); - - return List.back().get(); + Sections.emplace_back(make_unique<COFFSection>(Name)); + return Sections.back().get(); } /// This function takes a section data object from the assembler |