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

David Blaikie dblaikie at gmail.com
Fri Aug 29 13:17:14 PDT 2014


Author: dblaikie
Date: Fri Aug 29 15:17:13 2014
New Revision: 216767

URL: http://llvm.org/viewvc/llvm-project?rev=216767&view=rev
Log:
unique_ptrify the raw_ostream argument to clang::serialized_diags::create

Modified:
    cfe/trunk/include/clang/Frontend/SerializedDiagnosticPrinter.h
    cfe/trunk/lib/Frontend/CompilerInstance.cpp
    cfe/trunk/lib/Frontend/SerializedDiagnosticPrinter.cpp

Modified: cfe/trunk/include/clang/Frontend/SerializedDiagnosticPrinter.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/SerializedDiagnosticPrinter.h?rev=216767&r1=216766&r2=216767&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/SerializedDiagnosticPrinter.h (original)
+++ cfe/trunk/include/clang/Frontend/SerializedDiagnosticPrinter.h Fri Aug 29 15:17:13 2014
@@ -67,7 +67,7 @@ enum Level {
 /// This allows wrapper tools for Clang to get diagnostics from Clang
 /// (via libclang) without needing to parse Clang's command line output.
 ///
-DiagnosticConsumer *create(raw_ostream *OS,
+DiagnosticConsumer *create(std::unique_ptr<raw_ostream> OS,
                            DiagnosticOptions *diags);
 
 } // end serialized_diags namespace

Modified: cfe/trunk/lib/Frontend/CompilerInstance.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInstance.cpp?rev=216767&r1=216766&r2=216767&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/CompilerInstance.cpp (original)
+++ cfe/trunk/lib/Frontend/CompilerInstance.cpp Fri Aug 29 15:17:13 2014
@@ -165,9 +165,8 @@ static void SetupSerializedDiagnostics(D
                                        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 @@ static void SetupSerializedDiagnostics(D
   }
 
   DiagnosticConsumer *SerializedConsumer =
-      clang::serialized_diags::create(OS.release(), DiagOpts);
+      clang::serialized_diags::create(std::move(OS), DiagOpts);
 
   Diags.setClient(new ChainedDiagnosticConsumer(Diags.takeClient(),
                                                 SerializedConsumer));

Modified: cfe/trunk/lib/Frontend/SerializedDiagnosticPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/SerializedDiagnosticPrinter.cpp?rev=216767&r1=216766&r2=216767&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/SerializedDiagnosticPrinter.cpp (original)
+++ cfe/trunk/lib/Frontend/SerializedDiagnosticPrinter.cpp Fri Aug 29 15:17:13 2014
@@ -96,10 +96,9 @@ class SDiagsWriter : public DiagnosticCo
     : 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 @@ private:
   /// \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 @@ private:
 
 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





More information about the cfe-commits mailing list