diff options
| author | Nico Weber <nicolasweber@gmx.de> | 2008-08-10 19:59:06 +0000 |
|---|---|---|
| committer | Nico Weber <nicolasweber@gmx.de> | 2008-08-10 19:59:06 +0000 |
| commit | 4c3116437cc19d05b3031b8e99566ef47bf463e8 (patch) | |
| tree | a6f8b9aed87ba5053d4400387feaf2970bbae916 /clang/lib/Analysis | |
| parent | cb1e06e8fda6d896c7b3031c220fb10e45b30049 (diff) | |
| download | bcm5719-llvm-4c3116437cc19d05b3031b8e99566ef47bf463e8.tar.gz bcm5719-llvm-4c3116437cc19d05b3031b8e99566ef47bf463e8.zip | |
* Remove isInSystemHeader() from DiagClient, move it to SourceManager
* Move FormatError() from TextDiagnostic up to DiagClient, remove now
empty class TextDiagnostic
* Make DiagClient optional for Diagnostic
This fixes the following problems:
* -html-diags (and probably others) does now output the same set of
warnings as console clang does
* nothing crashes if one forgets to call setHeaderSearch() on
TextDiagnostic
* some code duplication is removed
llvm-svn: 54620
Diffstat (limited to 'clang/lib/Analysis')
| -rw-r--r-- | clang/lib/Analysis/PathDiagnostic.cpp | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/clang/lib/Analysis/PathDiagnostic.cpp b/clang/lib/Analysis/PathDiagnostic.cpp index 28b76b38f13..4c34953b17c 100644 --- a/clang/lib/Analysis/PathDiagnostic.cpp +++ b/clang/lib/Analysis/PathDiagnostic.cpp @@ -33,9 +33,6 @@ void PathDiagnosticClient::HandleDiagnostic(Diagnostic &Diags, PathDiagnostic* D = new PathDiagnostic(); - // Ripped from TextDiagnostics::FormatDiagnostic. Perhaps we should - // centralize it somewhere? - std::ostringstream os; switch (DiagLevel) { @@ -46,17 +43,8 @@ void PathDiagnosticClient::HandleDiagnostic(Diagnostic &Diags, case Diagnostic::Fatal: os << "fatal error: "; break; break; } - - std::string Msg = Diags.getDescription(ID); - for (unsigned i = 0; i < Msg.size() - 1; ++i) { - if (Msg[i] == '%' && isdigit(Msg[i + 1])) { - unsigned StrNo = Msg[i + 1] - '0'; - Msg = std::string(Msg.begin(), Msg.begin() + i) + - (StrNo < NumStrs ? Strs[StrNo] : "<<<INTERNAL ERROR>>>") + - std::string(Msg.begin() + i + 2, Msg.end()); - } - } + std::string Msg = FormatDiagnostic(Diags, DiagLevel, ID, Strs, NumStrs); os << Msg; |

