From: Chris Lattner Date: Tue, 18 Nov 2008 06:07:40 +0000 (+0000) Subject: eliminate dependence of strange "Diagnostic::Report" method, X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=470e5fc7b4e03105950ad62cf7582b14ca939ec4;p=clang eliminate dependence of strange "Diagnostic::Report" method, delete huge trailing whitespace to fit in 80 cols. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59497 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/BugReporter.cpp b/lib/Analysis/BugReporter.cpp index 0663ddde41..bf99e6ba63 100644 --- a/lib/Analysis/BugReporter.cpp +++ b/lib/Analysis/BugReporter.cpp @@ -576,9 +576,7 @@ void GRBugReporter::GeneratePathDiagnostic(PathDiagnostic& PD, // FIXME: Maybe this should be an assertion. Are there cases // were it is not an EnumConstantDecl? - - EnumConstantDecl* D = dyn_cast(DR->getDecl()); - + EnumConstantDecl* D = dyn_cast(DR->getDecl()); if (D) { GetRawInt = false; os << D->getName(); @@ -806,9 +804,13 @@ void BugReporter::EmitBasicReport(const char* name, const char* category, SimpleBugType BT(name, category, 0); DiagCollector C(BT); Diagnostic& Diag = getDiagnostic(); - Diag.Report(&C, getContext().getFullLoc(Loc), + + DiagnosticClient *OldClient = Diag.getClient(); + Diag.setClient(&C); + Diag.Report(getContext().getFullLoc(Loc), Diag.getCustomDiagID(Diagnostic::Warning, str), 0, 0, RBeg, NumRanges); + Diag.setClient(OldClient); for (DiagCollector::iterator I = C.begin(), E = C.end(); I != E; ++I) EmitWarning(*I);