diff options
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/include/llvm/MC/MCObjectStreamer.h | 2 | ||||
-rw-r--r-- | llvm/lib/MC/MCObjectStreamer.cpp | 5 |
2 files changed, 3 insertions, 4 deletions
diff --git a/llvm/include/llvm/MC/MCObjectStreamer.h b/llvm/include/llvm/MC/MCObjectStreamer.h index 284af06e1a5..9b7274a8470 100644 --- a/llvm/include/llvm/MC/MCObjectStreamer.h +++ b/llvm/include/llvm/MC/MCObjectStreamer.h @@ -34,7 +34,7 @@ class raw_pwrite_stream; /// to that file format or custom semantics expected by the object writer /// implementation. class MCObjectStreamer : public MCStreamer { - MCAssembler *Assembler; + std::unique_ptr<MCAssembler> Assembler; MCSection::iterator CurInsertionPoint; bool EmitEHFrame; bool EmitDebugFrame; diff --git a/llvm/lib/MC/MCObjectStreamer.cpp b/llvm/lib/MC/MCObjectStreamer.cpp index e9e3133582c..0beaf6b095a 100644 --- a/llvm/lib/MC/MCObjectStreamer.cpp +++ b/llvm/lib/MC/MCObjectStreamer.cpp @@ -29,15 +29,14 @@ MCObjectStreamer::MCObjectStreamer(MCContext &Context, MCAsmBackend &TAB, raw_pwrite_stream &OS, MCCodeEmitter *Emitter_) : MCStreamer(Context), - Assembler(new MCAssembler(Context, TAB, *Emitter_, - *TAB.createObjectWriter(OS))), + Assembler(llvm::make_unique<MCAssembler>(Context, TAB, *Emitter_, + *TAB.createObjectWriter(OS))), EmitEHFrame(true), EmitDebugFrame(false) {} MCObjectStreamer::~MCObjectStreamer() { delete &Assembler->getBackend(); delete &Assembler->getEmitter(); delete &Assembler->getWriter(); - delete Assembler; } void MCObjectStreamer::flushPendingLabels(MCFragment *F, uint64_t FOffset) { |