unique_ptrify the raw_ostream argument to clang::serialized_diags::create

llvm-svn: 216767
diff --git a/clang/lib/Frontend/CompilerInstance.cpp b/clang/lib/Frontend/CompilerInstance.cpp
index 3d1a18e..ec4817d 100644
--- a/clang/lib/Frontend/CompilerInstance.cpp
+++ b/clang/lib/Frontend/CompilerInstance.cpp
@@ -165,9 +165,8 @@
                                        DiagnosticsEngine &Diags,
                                        StringRef OutputFile) {
   std::error_code EC;
-  std::unique_ptr<llvm::raw_fd_ostream> OS;
-  OS.reset(
-      new llvm::raw_fd_ostream(OutputFile.str(), EC, llvm::sys::fs::F_None));
+  auto OS = llvm::make_unique<llvm::raw_fd_ostream>(OutputFile.str(), EC,
+                                                    llvm::sys::fs::F_None);
 
   if (EC) {
     Diags.Report(diag::warn_fe_serialized_diag_failure) << OutputFile
@@ -176,7 +175,7 @@
   }
 
   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 29c58a8..66b3333 100644
--- a/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
+++ b/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
@@ -96,10 +96,9 @@
     : 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<raw_ostream> os, DiagnosticOptions *diags)
+      : LangOpts(nullptr), OriginalInstance(true),
+        State(new SharedState(std::move(os), diags)) {
     EmitPreamble();
   }
 
@@ -187,8 +186,9 @@
   /// \brief State that is shared among the various clones of this diagnostic
   /// consumer.
   struct SharedState : RefCountedBase<SharedState> {
-    SharedState(raw_ostream *os, DiagnosticOptions *diags)
-      : DiagOpts(diags), Stream(Buffer), OS(os), EmittedAnyDiagBlocks(false) { }
+    SharedState(std::unique_ptr<raw_ostream> os, DiagnosticOptions *diags)
+        : DiagOpts(diags), Stream(Buffer), OS(std::move(os)),
+          EmittedAnyDiagBlocks(false) {}
 
     /// \brief Diagnostic options.
     IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts;
@@ -236,8 +236,9 @@
 
 namespace clang {
 namespace serialized_diags {
-DiagnosticConsumer *create(raw_ostream *OS, DiagnosticOptions *diags) {
-  return new SDiagsWriter(OS, diags);
+DiagnosticConsumer *create(std::unique_ptr<raw_ostream> OS,
+                           DiagnosticOptions *diags) {
+  return new SDiagsWriter(std::move(OS), diags);
 }
 } // end namespace serialized_diags
 } // end namespace clang