diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-11-11 09:38:24 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-11-11 09:38:24 +0000 |
commit | aea364195b81f933515e8968b5254a1195eb0337 (patch) | |
tree | 92b0de7cf3a0e2bb7b5f9778d3f22dab1ecd28f7 /lib/Frontend | |
parent | ead2a5e8e8cad528bc001c01dfe47ca8c5357ff9 (diff) |
Allow TextDiagnosticPrinter to have optional ownership of its output stream.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86823 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend')
-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 4f8c804844..6ab0e16052 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:: |