On 02/03/2014 12:25, Peter Collingbourne wrote:
Hi alexfh,

The goal is to make it possible for checks to emit diagnostics at levels
other than 'warning'.

http://llvm-reviews.chandlerc.com/D2913

Files:
   clang-tidy/ClangTidy.cpp
   clang-tidy/ClangTidy.h

Index: clang-tidy/ClangTidy.cpp
===================================================================
--- clang-tidy/ClangTidy.cpp
+++ clang-tidy/ClangTidy.cpp
@@ -226,8 +226,9 @@
    return EnableChecks.match(Name) && !DisableChecks.match(Name);
  }
-DiagnosticBuilder ClangTidyCheck::diag(SourceLocation Loc, StringRef Message) {
-  return Context->diag(CheckName, Loc, Message);
+DiagnosticBuilder ClangTidyCheck::diag(SourceLocation Loc, StringRef Message,
+                                       DiagnosticIDs::Level Level) {
+  return Context->diag(CheckName, Loc, Message, Level);
  }
void ClangTidyCheck::run(const ast_matchers::MatchFinder::MatchResult &Result) {
Index: clang-tidy/ClangTidy.h
===================================================================
--- clang-tidy/ClangTidy.h
+++ clang-tidy/ClangTidy.h
@@ -76,7 +76,8 @@
    void setContext(ClangTidyContext *Ctx) { Context = Ctx; }
/// \brief Add a diagnostic with the check's name.
-  DiagnosticBuilder diag(SourceLocation Loc, StringRef Description);
+  DiagnosticBuilder diag(SourceLocation Loc, StringRef Description,
+                         DiagnosticIDs::Level Level = DiagnosticIDs::Warning);

Could you order the parameters Loc, Level, FormatString and drop the default argument?

That'll provide visual consistency with the output as well as internal consistency with clang's own getCustomDiagID(Level L, StringRef FormatString).

That way it becomes kind of a shorthand for diag(getCustomDiagID(...)) << ... which is a step towards unifying built-in and custom diagnostic IDs.

Alp.


/// \brief Sets the check name. Intended to be used by the clang-tidy
    /// framework. Can be called only once.


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

--
http://www.nuanti.com
the browser experts

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to