summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2008-08-10 19:59:06 +0000
committerNico Weber <nicolasweber@gmx.de>2008-08-10 19:59:06 +0000
commit4c3116437cc19d05b3031b8e99566ef47bf463e8 (patch)
treea6f8b9aed87ba5053d4400387feaf2970bbae916 /clang/lib/Analysis
parentcb1e06e8fda6d896c7b3031c220fb10e45b30049 (diff)
downloadbcm5719-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.cpp14
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;
OpenPOWER on IntegriCloud