diff options
-rw-r--r-- | lib/CodeGen/MachineModuleInfo.cpp | 4 | ||||
-rw-r--r-- | lib/MC/MCObjectStreamer.cpp | 1 | ||||
-rw-r--r-- | lib/MC/MCStreamer.cpp | 1 |
3 files changed, 4 insertions, 2 deletions
diff --git a/lib/CodeGen/MachineModuleInfo.cpp b/lib/CodeGen/MachineModuleInfo.cpp index 1869fe3..0ea9ae0 100644 --- a/lib/CodeGen/MachineModuleInfo.cpp +++ b/lib/CodeGen/MachineModuleInfo.cpp @@ -266,7 +266,6 @@ MachineModuleInfo::MachineModuleInfo() } MachineModuleInfo::~MachineModuleInfo() { - delete ObjFileMMI; } bool MachineModuleInfo::doInitialization(Module &M) { @@ -294,6 +293,9 @@ bool MachineModuleInfo::doFinalization(Module &M) { Context.reset(); + delete ObjFileMMI; + ObjFileMMI = 0; + return false; } diff --git a/lib/MC/MCObjectStreamer.cpp b/lib/MC/MCObjectStreamer.cpp index e36e181..6d5c0a5 100644 --- a/lib/MC/MCObjectStreamer.cpp +++ b/lib/MC/MCObjectStreamer.cpp @@ -47,6 +47,7 @@ MCObjectStreamer::~MCObjectStreamer() { void MCObjectStreamer::reset() { if (Assembler) Assembler->reset(); + CurSectionData = 0; MCStreamer::reset(); } diff --git a/lib/MC/MCStreamer.cpp b/lib/MC/MCStreamer.cpp index 6f0ada2..7dffc3e 100644 --- a/lib/MC/MCStreamer.cpp +++ b/lib/MC/MCStreamer.cpp @@ -41,7 +41,6 @@ void MCStreamer::reset() { EmitDebugFrame = false; CurrentW64UnwindInfo = 0; LastSymbol = 0; - AutoInitSections = false; const MCSection *section = NULL; SectionStack.clear(); SectionStack.push_back(std::make_pair(section, section)); |