[llvm] r295126 - Simplify WinCOFFObjectWriter by removing a template member function.
Rui Ueyama via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 14 15:58:19 PST 2017
Author: ruiu
Date: Tue Feb 14 17:58:19 2017
New Revision: 295126
URL: http://llvm.org/viewvc/llvm-project?rev=295126&view=rev
Log:
Simplify WinCOFFObjectWriter by removing a template member function.
Modified:
llvm/trunk/lib/MC/WinCOFFObjectWriter.cpp
Modified: llvm/trunk/lib/MC/WinCOFFObjectWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/WinCOFFObjectWriter.cpp?rev=295126&r1=295125&r2=295126&view=diff
==============================================================================
--- llvm/trunk/lib/MC/WinCOFFObjectWriter.cpp (original)
+++ llvm/trunk/lib/MC/WinCOFFObjectWriter.cpp Tue Feb 14 17:58:19 2017
@@ -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
}
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
More information about the llvm-commits
mailing list