From eb62b822e343d18a7ff325eedeb3b13b6a9e3b7e Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Fri, 29 Aug 2014 20:17:13 +0000 Subject: unique_ptrify the raw_ostream argument to clang::serialized_diags::create llvm-svn: 216767 --- clang/lib/Frontend/CompilerInstance.cpp | 7 +++---- clang/lib/Frontend/SerializedDiagnosticPrinter.cpp | 17 +++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'clang/lib/Frontend') diff --git a/clang/lib/Frontend/CompilerInstance.cpp b/clang/lib/Frontend/CompilerInstance.cpp index 3d1a18e2765..ec4817d61fa 100644 --- a/clang/lib/Frontend/CompilerInstance.cpp +++ b/clang/lib/Frontend/CompilerInstance.cpp @@ -165,9 +165,8 @@ static void SetupSerializedDiagnostics(DiagnosticOptions *DiagOpts, DiagnosticsEngine &Diags, StringRef OutputFile) { std::error_code EC; - std::unique_ptr OS; - OS.reset( - new llvm::raw_fd_ostream(OutputFile.str(), EC, llvm::sys::fs::F_None)); + auto OS = llvm::make_unique(OutputFile.str(), EC, + llvm::sys::fs::F_None); if (EC) { Diags.Report(diag::warn_fe_serialized_diag_failure) << OutputFile @@ -176,7 +175,7 @@ static void SetupSerializedDiagnostics(DiagnosticOptions *DiagOpts, } DiagnosticConsumer *SerializedConsumer = - clang::serialized_diags::create(OS.release(), DiagOpts); + clang::serialized_diags::create(std::move(OS), DiagOpts); Diags.setClient(new ChainedDiagnosticConsumer(Diags.takeClient(), SerializedConsumer)); diff --git a/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp b/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp index 29c58a8ac34..66b3333524d 100644 --- a/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp +++ b/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp @@ -96,10 +96,9 @@ class SDiagsWriter : public DiagnosticConsumer { : LangOpts(nullptr), OriginalInstance(false), State(State) {} public: - SDiagsWriter(raw_ostream *os, DiagnosticOptions *diags) - : LangOpts(nullptr), OriginalInstance(true), - State(new SharedState(os, diags)) - { + SDiagsWriter(std::unique_ptr os, DiagnosticOptions *diags) + : LangOpts(nullptr), OriginalInstance(true), + State(new SharedState(std::move(os), diags)) { EmitPreamble(); } @@ -187,8 +186,9 @@ private: /// \brief State that is shared among the various clones of this diagnostic /// consumer. struct SharedState : RefCountedBase { - SharedState(raw_ostream *os, DiagnosticOptions *diags) - : DiagOpts(diags), Stream(Buffer), OS(os), EmittedAnyDiagBlocks(false) { } + SharedState(std::unique_ptr os, DiagnosticOptions *diags) + : DiagOpts(diags), Stream(Buffer), OS(std::move(os)), + EmittedAnyDiagBlocks(false) {} /// \brief Diagnostic options. IntrusiveRefCntPtr DiagOpts; @@ -236,8 +236,9 @@ private: namespace clang { namespace serialized_diags { -DiagnosticConsumer *create(raw_ostream *OS, DiagnosticOptions *diags) { - return new SDiagsWriter(OS, diags); +DiagnosticConsumer *create(std::unique_ptr OS, + DiagnosticOptions *diags) { + return new SDiagsWriter(std::move(OS), diags); } } // end namespace serialized_diags } // end namespace clang -- cgit v1.2.3