[clang-tools-extra] [clang-tidy] Contributing.rst update snippet and docs (PR #129209)

Marco C. via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 28 03:08:23 PST 2025


https://github.com/Marcondiro updated https://github.com/llvm/llvm-project/pull/129209

>From fbd2aa34805c3415f66410ae282f0ceeb7bd7b64 Mon Sep 17 00:00:00 2001
From: Marcondiro <46560192+Marcondiro at users.noreply.github.com>
Date: Fri, 28 Feb 2025 09:34:30 +0100
Subject: [PATCH] [clang-tidy] Contributing.rst update snippet and docs

This reflects the add_new_check.py changes: isLanguageVersionSupported
is now overridden by default by the script
---
 .../docs/clang-tidy/Contributing.rst            | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/clang-tools-extra/docs/clang-tidy/Contributing.rst b/clang-tools-extra/docs/clang-tidy/Contributing.rst
index 4f1df8d114444..9611c655886f2 100644
--- a/clang-tools-extra/docs/clang-tidy/Contributing.rst
+++ b/clang-tools-extra/docs/clang-tidy/Contributing.rst
@@ -149,6 +149,9 @@ After choosing the module and the name for the check, run the
 ``clang-tidy/add_new_check.py`` script to create the skeleton of the check and
 plug it to :program:`clang-tidy`. It's the recommended way of adding new checks.
 
+By default, the new check will apply only to C++ code. If it should apply under
+different language options, use the ``--language`` script's parameter.
+
 If we want to create a `readability-awesome-function-names`, we would run:
 
 .. code-block:: console
@@ -171,9 +174,7 @@ Let's see in more detail at the check class definition:
 
   #include "../ClangTidyCheck.h"
 
-  namespace clang {
-  namespace tidy {
-  namespace readability {
+  namespace clang::tidy::readability {
 
   ...
   class AwesomeFunctionNamesCheck : public ClangTidyCheck {
@@ -182,11 +183,12 @@ Let's see in more detail at the check class definition:
         : ClangTidyCheck(Name, Context) {}
     void registerMatchers(ast_matchers::MatchFinder *Finder) override;
     void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
+    bool isLanguageVersionSupported(const LangOptions &LangOpts) const override {
+      return LangOpts.CPlusPlus;
+    }
   };
 
-  } // namespace readability
-  } // namespace tidy
-  } // namespace clang
+  } // namespace clang::tidy::readability
 
   ...
 
@@ -231,9 +233,6 @@ override the method ``registerPPCallbacks``.  The ``add_new_check.py`` script
 does not generate an override for this method in the starting point for your
 new check.
 
-If your check applies only under a specific set of language options, be sure
-to override the method ``isLanguageVersionSupported`` to reflect that.
-
 Check development tips
 ----------------------
 



More information about the cfe-commits mailing list