Move these vectors to the only function where they are used.
[oota-llvm.git] / lib / MC / ELFObjectWriter.cpp
index e5a59968a09dccb32979800de7473b3704227e3b..11eef6489f10fe31dcc9efc282c2a370d628df0a 100644 (file)
@@ -112,9 +112,6 @@ class ELFObjectWriter : public MCObjectWriter {
     /// @{
 
     StringTableBuilder StrTabBuilder;
-    std::vector<ELFSymbolData> LocalSymbolData;
-    std::vector<ELFSymbolData> ExternalSymbolData;
-    std::vector<ELFSymbolData> UndefinedSymbolData;
 
     /// @}
 
@@ -152,9 +149,6 @@ class ELFObjectWriter : public MCObjectWriter {
       Renames.clear();
       Relocations.clear();
       StrTabBuilder.clear();
-      LocalSymbolData.clear();
-      ExternalSymbolData.clear();
-      UndefinedSymbolData.clear();
       SectionTable.clear();
       MCObjectWriter::reset();
     }
@@ -820,6 +814,10 @@ void ELFObjectWriter::computeSymbolTable(
   // The first entry is the undefined symbol entry.
   Writer.writeSymbol(0, 0, 0, 0, 0, 0, false);
 
+  std::vector<ELFSymbolData> LocalSymbolData;
+  std::vector<ELFSymbolData> ExternalSymbolData;
+  std::vector<ELFSymbolData> UndefinedSymbolData;
+
   // Add the data for the symbols.
   bool HasLargeSectionIndex = false;
   for (const MCSymbol &Symbol : Asm.symbols()) {