diff options
| author | Nico Weber <nicolasweber@gmx.de> | 2008-08-05 23:33:20 +0000 | 
|---|---|---|
| committer | Nico Weber <nicolasweber@gmx.de> | 2008-08-05 23:33:20 +0000 | 
| commit | b5fc3c300a54d9380303f5a6923a24db9eab06b3 (patch) | |
| tree | 344f345f45d49939294d438f86d9269f5e2dd2ee /clang/lib/Driver/TextDiagnosticBuffer.cpp | |
| parent | 829e988899d92ded0c55228976ff80d278fda8d2 (diff) | |
| download | bcm5719-llvm-b5fc3c300a54d9380303f5a6923a24db9eab06b3.tar.gz bcm5719-llvm-b5fc3c300a54d9380303f5a6923a24db9eab06b3.zip | |
add a libDriver, for now only move the text diangostics stuff from Driver to there
llvm-svn: 54383
Diffstat (limited to 'clang/lib/Driver/TextDiagnosticBuffer.cpp')
| -rw-r--r-- | clang/lib/Driver/TextDiagnosticBuffer.cpp | 41 | 
1 files changed, 41 insertions, 0 deletions
| diff --git a/clang/lib/Driver/TextDiagnosticBuffer.cpp b/clang/lib/Driver/TextDiagnosticBuffer.cpp new file mode 100644 index 00000000000..35aba58aad9 --- /dev/null +++ b/clang/lib/Driver/TextDiagnosticBuffer.cpp @@ -0,0 +1,41 @@ +//===--- TextDiagnosticBuffer.cpp - Buffer Text Diagnostics ---------------===// +// +//                     The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This is a concrete diagnostic client, which buffers the diagnostic messages. +// +//===----------------------------------------------------------------------===// + +#include "clang/Driver/TextDiagnosticBuffer.h" +#include "clang/Basic/SourceManager.h" +using namespace clang; + +/// HandleDiagnostic - Store the errors & warnings that are reported. +///  +void TextDiagnosticBuffer::HandleDiagnostic(Diagnostic &Diags, +                                            Diagnostic::Level Level, +                                            FullSourceLoc Pos, +                                            diag::kind ID, +                                            const std::string *Strs, +                                            unsigned NumStrs, +                                            const SourceRange *, +                                            unsigned) { +  switch (Level) { +  default: assert(0 && "Diagnostic not handled during diagnostic buffering!"); +  case Diagnostic::Warning: +    Warnings.push_back(std::make_pair(Pos.getLocation(), +                                      FormatDiagnostic(Diags, Level, ID,  +                                                       Strs, NumStrs))); +    break; +  case Diagnostic::Error: +    Errors.push_back(std::make_pair(Pos.getLocation(), +                                    FormatDiagnostic(Diags, Level, ID, +                                                     Strs, NumStrs))); +    break; +  } +} | 

