From: Benjamin Kramer Date: Thu, 29 Jul 2010 11:57:59 +0000 (+0000) Subject: COFFObjectWriter: Don't leak COFFSymbols and COFFSections. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=808ecfce6a312625bee5c0f4f9831a0d0ed01b16;p=oota-llvm.git COFFObjectWriter: Don't leak COFFSymbols and COFFSections. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109745 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/MC/WinCOFFObjectWriter.cpp b/lib/MC/WinCOFFObjectWriter.cpp index 9c31f9a93dc..a4bbc53e78f 100644 --- a/lib/MC/WinCOFFObjectWriter.cpp +++ b/lib/MC/WinCOFFObjectWriter.cpp @@ -131,6 +131,7 @@ public: symbol_map SymbolMap; WinCOFFObjectWriter(raw_ostream &OS); + ~WinCOFFObjectWriter(); COFFSymbol *createSymbol(llvm::StringRef Name); COFFSection *createSection(llvm::StringRef Name); @@ -275,6 +276,13 @@ WinCOFFObjectWriter::WinCOFFObjectWriter(raw_ostream &OS) Header.Machine = 0x14C; // x86 } +WinCOFFObjectWriter::~WinCOFFObjectWriter() { + for (symbols::iterator I = Symbols.begin(), E = Symbols.end(); I != E; ++I) + delete *I; + for (sections::iterator I = Sections.begin(), E = Sections.end(); I != E; ++I) + delete *I; +} + COFFSymbol *WinCOFFObjectWriter::createSymbol(llvm::StringRef Name) { return createCOFFEntity(Name, Symbols); }