summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/PathDiagnostic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Analysis/PathDiagnostic.cpp')
-rw-r--r--clang/lib/Analysis/PathDiagnostic.cpp23
1 files changed, 7 insertions, 16 deletions
diff --git a/clang/lib/Analysis/PathDiagnostic.cpp b/clang/lib/Analysis/PathDiagnostic.cpp
index 02cfe1e341b..aed83ea84fb 100644
--- a/clang/lib/Analysis/PathDiagnostic.cpp
+++ b/clang/lib/Analysis/PathDiagnostic.cpp
@@ -20,14 +20,8 @@ PathDiagnostic::~PathDiagnostic() {
for (iterator I = begin(), E = end(); I != E; ++I) delete &*I;
}
-void PathDiagnosticClient::HandleDiagnostic(Diagnostic &Diags,
- Diagnostic::Level DiagLevel,
- FullSourceLoc Pos,
- diag::kind ID,
- const std::string **Strs,
- unsigned NumStrs,
- const SourceRange *Ranges,
- unsigned NumRanges) {
+void PathDiagnosticClient::HandleDiagnostic(Diagnostic::Level DiagLevel,
+ const DiagnosticInfo &Info) {
// Create a PathDiagnostic with a single piece.
@@ -42,16 +36,13 @@ void PathDiagnosticClient::HandleDiagnostic(Diagnostic &Diags,
case Diagnostic::Fatal: LevelStr = "fatal error: "; break;
}
- std::string Msg = FormatDiagnostic(Diags, DiagLevel, ID, Strs, NumStrs);
+ std::string Msg = FormatDiagnostic(Info);
- PathDiagnosticPiece* P = new PathDiagnosticPiece(Pos, LevelStr+Msg);
-
- while (NumRanges) {
- P->addRange(*Ranges);
- --NumRanges;
- ++Ranges;
- }
+ PathDiagnosticPiece *P =
+ new PathDiagnosticPiece(Info.getLocation(), LevelStr+Msg);
+ for (unsigned i = 0, e = Info.getNumRanges(); i != e; ++i)
+ P->addRange(Info.getRange(i));
D->push_front(P);
HandlePathDiagnostic(D);
OpenPOWER on IntegriCloud