diff options
| author | Lang Hames <lhames@gmail.com> | 2017-10-11 23:34:47 +0000 |
|---|---|---|
| committer | Lang Hames <lhames@gmail.com> | 2017-10-11 23:34:47 +0000 |
| commit | 2241ffa43cee14361757e9dbdee01161030d1656 (patch) | |
| tree | 5c45b1e1a054f4ed236085ece5cc97200b5dc230 /llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp | |
| parent | 337462b36512cc001891a98fb98fa5693651722f (diff) | |
| download | bcm5719-llvm-2241ffa43cee14361757e9dbdee01161030d1656.tar.gz bcm5719-llvm-2241ffa43cee14361757e9dbdee01161030d1656.zip | |
[MC] Have MCObjectStreamer take its MCAsmBackend argument via unique_ptr.
MCObjectStreamer owns its MCCodeEmitter -- this fixes the types to reflect that,
and allows us to remove the last instance of MCObjectStreamer's weird "holding
ownership via someone else's reference" trick.
llvm-svn: 315531
Diffstat (limited to 'llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp')
| -rw-r--r-- | llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp b/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp index 872ec19c0f6..1f995ddba7d 100644 --- a/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp +++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp @@ -441,8 +441,10 @@ public: friend class ARMTargetELFStreamer; ARMELFStreamer(MCContext &Context, std::unique_ptr<MCAsmBackend> TAB, - raw_pwrite_stream &OS, MCCodeEmitter *Emitter, bool IsThumb) - : MCELFStreamer(Context, std::move(TAB), OS, Emitter), IsThumb(IsThumb) { + raw_pwrite_stream &OS, std::unique_ptr<MCCodeEmitter> Emitter, + bool IsThumb) + : MCELFStreamer(Context, std::move(TAB), OS, std::move(Emitter)), + IsThumb(IsThumb) { EHReset(); } @@ -1488,10 +1490,10 @@ MCTargetStreamer *createARMObjectTargetStreamer(MCStreamer &S, MCELFStreamer *createARMELFStreamer(MCContext &Context, std::unique_ptr<MCAsmBackend> TAB, raw_pwrite_stream &OS, - MCCodeEmitter *Emitter, bool RelaxAll, - bool IsThumb) { - ARMELFStreamer *S = - new ARMELFStreamer(Context, std::move(TAB), OS, Emitter, IsThumb); + std::unique_ptr<MCCodeEmitter> Emitter, + bool RelaxAll, bool IsThumb) { + ARMELFStreamer *S = new ARMELFStreamer(Context, std::move(TAB), OS, + std::move(Emitter), IsThumb); // FIXME: This should eventually end up somewhere else where more // intelligent flag decisions can be made. For now we are just maintaining // the status quo for ARM and setting EF_ARM_EABI_VER5 as the default. |

