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/MC/WasmObjectWriter.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/MC/WasmObjectWriter.cpp')
| -rw-r--r-- | llvm/lib/MC/WasmObjectWriter.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/MC/WasmObjectWriter.cpp b/llvm/lib/MC/WasmObjectWriter.cpp index 02d8bfbe1de..55e7c93c87e 100644 --- a/llvm/lib/MC/WasmObjectWriter.cpp +++ b/llvm/lib/MC/WasmObjectWriter.cpp @@ -1317,8 +1317,11 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm, // TODO: Translate debug sections to the output. } -MCObjectWriter * +std::unique_ptr<MCObjectWriter> llvm::createWasmObjectWriter(std::unique_ptr<MCWasmObjectTargetWriter> MOTW, raw_pwrite_stream &OS) { - return new WasmObjectWriter(std::move(MOTW), OS); + // FIXME: Can't use make_unique<WasmObjectWriter>(...) as WasmObjectWriter's + // destructor is private. Is that necessary? + return std::unique_ptr<MCObjectWriter>( + new WasmObjectWriter(std::move(MOTW), OS)); } |

