From: Steven Wu Date: Fri, 14 Nov 2014 21:23:56 +0000 (+0000) Subject: Add DiagID and Warning Flag to DiagnosticsLog X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c5f0ed8753735bd2bd254724dea5b66a13a42f89;p=clang Add DiagID and Warning Flag to DiagnosticsLog git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222042 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Frontend/LogDiagnosticPrinter.h b/include/clang/Frontend/LogDiagnosticPrinter.h index 8d60e9bd26..98adf655fc 100644 --- a/include/clang/Frontend/LogDiagnosticPrinter.h +++ b/include/clang/Frontend/LogDiagnosticPrinter.h @@ -35,6 +35,9 @@ class LogDiagnosticPrinter : public DiagnosticConsumer { /// The ID of the diagnostic. unsigned DiagnosticID; + + /// The Option Flag for the diagnostic + std::string WarningOption; /// The level of the diagnostic. DiagnosticsEngine::Level DiagnosticLevel; diff --git a/lib/Frontend/LogDiagnosticPrinter.cpp b/lib/Frontend/LogDiagnosticPrinter.cpp index c2dcd1be31..c6a18e0d80 100644 --- a/lib/Frontend/LogDiagnosticPrinter.cpp +++ b/lib/Frontend/LogDiagnosticPrinter.cpp @@ -63,6 +63,14 @@ LogDiagnosticPrinter::EmitDiagEntry(llvm::raw_ostream &OS, << " "; EmitString(OS, DE.Message) << '\n'; } + OS << " ID\n" + << " "; + EmitInteger(OS, DE.DiagnosticID) << '\n'; + if (!DE.WarningOption.empty()) { + OS << " WarningOption\n" + << " "; + EmitString(OS, DE.WarningOption) << '\n'; + } OS << " \n"; } @@ -122,6 +130,8 @@ void LogDiagnosticPrinter::HandleDiagnostic(DiagnosticsEngine::Level Level, DE.DiagnosticID = Info.getID(); DE.DiagnosticLevel = Level; + DE.WarningOption = DiagnosticIDs::getWarningOptionForDiag(DE.DiagnosticID); + // Format the message. SmallString<100> MessageStr; Info.FormatDiagnostic(MessageStr);