summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/CodeGen/MachineModuleInfo.cpp4
-rw-r--r--lib/MC/MCObjectStreamer.cpp1
-rw-r--r--lib/MC/MCStreamer.cpp1
3 files changed, 4 insertions, 2 deletions
diff --git a/lib/CodeGen/MachineModuleInfo.cpp b/lib/CodeGen/MachineModuleInfo.cpp
index 1869fe3d93..0ea9ae0fcc 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 e36e181ff5..6d5c0a54f3 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 6f0ada277c..7dffc3e21b 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));