mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-24 03:25:00 +00:00
Fix ELF Writter related memory leaks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80717 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
da5ea94554
commit
0bb83860f9
@ -93,6 +93,24 @@ ELFWriter::ELFWriter(raw_ostream &o, TargetMachine &tm)
|
||||
ELFWriter::~ELFWriter() {
|
||||
delete ElfCE;
|
||||
delete &OutContext;
|
||||
|
||||
while(!SymbolList.empty()) {
|
||||
delete SymbolList.back();
|
||||
SymbolList.pop_back();
|
||||
}
|
||||
|
||||
while(!PrivateSyms.empty()) {
|
||||
delete PrivateSyms.back();
|
||||
PrivateSyms.pop_back();
|
||||
}
|
||||
|
||||
while(!SectionList.empty()) {
|
||||
delete SectionList.back();
|
||||
SectionList.pop_back();
|
||||
}
|
||||
|
||||
// Release the name mangler object.
|
||||
delete Mang; Mang = 0;
|
||||
}
|
||||
|
||||
// doInitialization - Emit the file header and all of the global variables for
|
||||
@ -714,13 +732,6 @@ bool ELFWriter::doFinalization(Module &M) {
|
||||
// Dump the sections and section table to the .o file.
|
||||
OutputSectionsAndSectionTable();
|
||||
|
||||
// We are done with the abstract symbols.
|
||||
SymbolList.clear();
|
||||
SectionList.clear();
|
||||
NumSections = 0;
|
||||
|
||||
// Release the name mangler object.
|
||||
delete Mang; Mang = 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user