diff options
author | Lang Hames <lhames@gmail.com> | 2017-10-10 16:28:07 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2017-10-10 16:28:07 +0000 |
commit | 60fbc7cc38cde63adac7b70391e46141270817ad (patch) | |
tree | 75a5fa4eda963e134c27c8b7f277402e74c86ad5 /llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp | |
parent | 37af00e7d0febf397472c40c3b0df5e6ded7688c (diff) | |
download | bcm5719-llvm-60fbc7cc38cde63adac7b70391e46141270817ad.tar.gz bcm5719-llvm-60fbc7cc38cde63adac7b70391e46141270817ad.zip |
[MC] Thread unique_ptr<MCObjectWriter> through the create.*ObjectWriter
functions.
This makes the ownership of the resulting MCObjectWriter clear, and allows us
to remove one instance of MCObjectStreamer's bizarre "holding ownership via
someone else's reference" trick.
llvm-svn: 315327
Diffstat (limited to 'llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp')
-rw-r--r-- | llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp index 06d84628374..44ee9733b16 100644 --- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp +++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp @@ -13,6 +13,7 @@ #include "llvm/ADT/STLExtras.h" #include "llvm/MC/MCELFObjectWriter.h" #include "llvm/MC/MCExpr.h" +#include "llvm/MC/MCObjectWriter.h" #include "llvm/MC/MCSymbolELF.h" #include "llvm/MC/MCValue.h" #include "llvm/Support/ErrorHandling.h" @@ -416,10 +417,9 @@ bool PPCELFObjectWriter::needsRelocateWithSymbol(const MCSymbol &Sym, } } -MCObjectWriter *llvm::createPPCELFObjectWriter(raw_pwrite_stream &OS, - bool Is64Bit, - bool IsLittleEndian, - uint8_t OSABI) { +std::unique_ptr<MCObjectWriter> +llvm::createPPCELFObjectWriter(raw_pwrite_stream &OS, bool Is64Bit, + bool IsLittleEndian, uint8_t OSABI) { auto MOTW = llvm::make_unique<PPCELFObjectWriter>(Is64Bit, OSABI); return createELFObjectWriter(std::move(MOTW), OS, IsLittleEndian); } |