diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-04-29 21:58:13 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-04-29 21:58:13 +0000 |
commit | d49967f8764135ae65658e354b6d38e3637c9de3 (patch) | |
tree | d1845d72b378da782b4cf5da22a0880841c301cc /lib/Analysis/BugReporter.cpp | |
parent | 6e5201b71dcf5e98d2ac4e14bebf5b4080120bb6 (diff) |
BugReporter/PathDiagnostics:
- Add an (optional) short description for BugReports for clients that want
to distinguish between long and short descriptions for bugs
- Make the bug report for VLA less obscene for Plist diagnostics by using
the short description
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70415 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/BugReporter.cpp')
-rw-r--r-- | lib/Analysis/BugReporter.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/Analysis/BugReporter.cpp b/lib/Analysis/BugReporter.cpp index 3c814dbb67..4e88baab57 100644 --- a/lib/Analysis/BugReporter.cpp +++ b/lib/Analysis/BugReporter.cpp @@ -1667,14 +1667,18 @@ void BugReporter::EmitReport(BugReport* R) { void BugReporter::FlushReport(BugReportEquivClass& EQ) { assert(!EQ.Reports.empty()); BugReport &R = **EQ.begin(); + PathDiagnosticClient* PD = getPathDiagnosticClient(); // FIXME: Make sure we use the 'R' for the path that was actually used. // Probably doesn't make a difference in practice. BugType& BT = R.getBugType(); - llvm::OwningPtr<PathDiagnostic> D(new PathDiagnostic(R.getBugType().getName(), - R.getDescription(), - BT.getCategory())); + llvm::OwningPtr<PathDiagnostic> + D(new PathDiagnostic(R.getBugType().getName(), + PD->useVerboseDescription() + ? R.getDescription() : R.getShortDescription(), + BT.getCategory())); + GeneratePathDiagnostic(*D.get(), EQ); // Get the meta data. @@ -1682,7 +1686,6 @@ void BugReporter::FlushReport(BugReportEquivClass& EQ) { for (const char** s = Meta.first; s != Meta.second; ++s) D->addMeta(*s); // Emit a summary diagnostic to the regular Diagnostics engine. - PathDiagnosticClient* PD = getPathDiagnosticClient(); const SourceRange *Beg = 0, *End = 0; R.getRanges(*this, Beg, End); Diagnostic& Diag = getDiagnostic(); |