diff options
Diffstat (limited to 'lib/Frontend/TextDiagnosticPrinter.cpp')
-rw-r--r-- | lib/Frontend/TextDiagnosticPrinter.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/Frontend/TextDiagnosticPrinter.cpp b/lib/Frontend/TextDiagnosticPrinter.cpp index 4f8c804..6ab0e16 100644 --- a/lib/Frontend/TextDiagnosticPrinter.cpp +++ b/lib/Frontend/TextDiagnosticPrinter.cpp @@ -39,9 +39,16 @@ static const enum llvm::raw_ostream::Colors savedColor = const unsigned WordWrapIndentation = 6; TextDiagnosticPrinter::TextDiagnosticPrinter(llvm::raw_ostream &os, - const DiagnosticOptions &diags) + const DiagnosticOptions &diags, + bool _OwnsOutputStream) : OS(os), LangOpts(0), DiagOpts(&diags), - LastCaretDiagnosticWasNote(false) { + LastCaretDiagnosticWasNote(0), + OwnsOutputStream(_OwnsOutputStream) { +} + +TextDiagnosticPrinter::~TextDiagnosticPrinter() { + if (OwnsOutputStream) + delete &OS; } void TextDiagnosticPrinter:: |