summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
Diffstat (limited to 'clang')
-rw-r--r--clang/include/clang/Frontend/SerializedDiagnosticPrinter.h2
-rw-r--r--clang/lib/Frontend/CompilerInstance.cpp7
-rw-r--r--clang/lib/Frontend/SerializedDiagnosticPrinter.cpp17
3 files changed, 13 insertions, 13 deletions
diff --git a/clang/include/clang/Frontend/SerializedDiagnosticPrinter.h b/clang/include/clang/Frontend/SerializedDiagnosticPrinter.h
index f190668e0c1..fce795b4a4f 100644
--- a/clang/include/clang/Frontend/SerializedDiagnosticPrinter.h
+++ b/clang/include/clang/Frontend/SerializedDiagnosticPrinter.h
@@ -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
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<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(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<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
OpenPOWER on IntegriCloud