MC/Assembler: Make the MCObjectWriter available through the lifetime of the

assembler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122031 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar
2010-12-17 02:45:41 +00:00
parent e509aa961c
commit feb7ba3d9a
3 changed files with 25 additions and 28 deletions

View File

@@ -21,10 +21,11 @@
using namespace llvm;
MCObjectStreamer::MCObjectStreamer(MCContext &Context, TargetAsmBackend &TAB,
raw_ostream &_OS, MCCodeEmitter *_Emitter)
: MCStreamer(Context), Assembler(new MCAssembler(Context, TAB,
*_Emitter,
_OS)),
raw_ostream &OS, MCCodeEmitter *Emitter_)
: MCStreamer(Context),
Assembler(new MCAssembler(Context, TAB,
*Emitter_, *TAB.createObjectWriter(OS),
OS)),
CurSectionData(0)
{
}
@@ -32,6 +33,7 @@ MCObjectStreamer::MCObjectStreamer(MCContext &Context, TargetAsmBackend &TAB,
MCObjectStreamer::~MCObjectStreamer() {
delete &Assembler->getBackend();
delete &Assembler->getEmitter();
delete &Assembler->getWriter();
delete Assembler;
}