From 1bb4b12315d3fd402ba3aa9b95585bcc4cfa2048 Mon Sep 17 00:00:00 2001 From: Mehdi Amini Date: Sat, 19 Nov 2016 18:19:41 +0000 Subject: [PATCH] Change setDiagnosticsOutputFile to take a unique_ptr from a raw pointer (NFC) Summary: This makes it explicit that ownership is taken. Also replace all `new` with make_unique<> at call sites. Reviewers: anemet Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D26884 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@287449 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/IR/LLVMContext.h | 2 +- lib/IR/LLVMContext.cpp | 4 ++-- lib/LTO/LTOCodeGenerator.cpp | 2 +- tools/opt/opt.cpp | 3 ++- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/include/llvm/IR/LLVMContext.h b/include/llvm/IR/LLVMContext.h index 16286d73289..2b537ebf1fe 100644 --- a/include/llvm/IR/LLVMContext.h +++ b/include/llvm/IR/LLVMContext.h @@ -194,7 +194,7 @@ public: /// By default or if invoked with null, diagnostics are not saved in a file /// but only emitted via the diagnostic handler. Even if an output file is /// set, the handler is invoked for each diagnostic message. - void setDiagnosticsOutputFile(yaml::Output *F); + void setDiagnosticsOutputFile(std::unique_ptr F); /// \brief Get the prefix that should be printed in front of a diagnostic of /// the given \p Severity diff --git a/lib/IR/LLVMContext.cpp b/lib/IR/LLVMContext.cpp index 9dac6151499..94934b385de 100644 --- a/lib/IR/LLVMContext.cpp +++ b/lib/IR/LLVMContext.cpp @@ -212,8 +212,8 @@ yaml::Output *LLVMContext::getDiagnosticsOutputFile() { return pImpl->DiagnosticsOutputFile.get(); } -void LLVMContext::setDiagnosticsOutputFile(yaml::Output *F) { - pImpl->DiagnosticsOutputFile.reset(F); +void LLVMContext::setDiagnosticsOutputFile(std::unique_ptr F) { + pImpl->DiagnosticsOutputFile = std::move(F); } LLVMContext::DiagnosticHandlerTy LLVMContext::getDiagnosticHandler() const { diff --git a/lib/LTO/LTOCodeGenerator.cpp b/lib/LTO/LTOCodeGenerator.cpp index d2f964e4d24..146ad454a0d 100644 --- a/lib/LTO/LTOCodeGenerator.cpp +++ b/lib/LTO/LTOCodeGenerator.cpp @@ -511,7 +511,7 @@ bool LTOCodeGenerator::setupOptimizationRemarks() { return false; } Context.setDiagnosticsOutputFile( - new yaml::Output(DiagnosticOutputFile->os())); + llvm::make_unique(DiagnosticOutputFile->os())); } return true; } diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index 0a42c13898a..035629a8aa4 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -424,7 +424,8 @@ int main(int argc, char **argv) { errs() << EC.message() << '\n'; return 1; } - Context.setDiagnosticsOutputFile(new yaml::Output(YamlFile->os())); + Context.setDiagnosticsOutputFile( + llvm::make_unique(YamlFile->os())); } // Load the input module... -- 2.40.0