Author: Nathan James
Date: 2020-06-22T11:07:24+01:00
New Revision: 23063296b539feb405fb3ce61711a3c1cc1c94d0

URL: 
https://github.com/llvm/llvm-project/commit/23063296b539feb405fb3ce61711a3c1cc1c94d0
DIFF: 
https://github.com/llvm/llvm-project/commit/23063296b539feb405fb3ce61711a3c1cc1c94d0.diff

LOG: [clang-tidy] Improved accuracy of check list updater script

 - Added `FixItHint` comments to Check files for the script to mark those 
checks as offering fix-its when the fix-its are generated in another file.
 - Case insensitive file searching when looking for the file a checker code 
resides in.

Also regenerated the list, sphinx had no issue generating the docs after this.

Reviewed By: sylvestre.ledru

Differential Revision: https://reviews.llvm.org/D81932

Added: 
    

Modified: 
    clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
    clang-tools-extra/clang-tidy/add_new_check.py
    clang-tools-extra/clang-tidy/llvmlibc/RestrictSystemLibcHeadersCheck.cpp
    clang-tools-extra/clang-tidy/modernize/MakeSharedCheck.cpp
    clang-tools-extra/docs/clang-tidy/checks/list.rst

Removed: 
    


################################################################################
diff  --git 
a/clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp 
b/clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
index f60ce2000766..87af9ea6cd5a 100644
--- a/clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
@@ -15,6 +15,9 @@
 #include "clang/Tooling/Transformer/RewriteRule.h"
 #include "clang/Tooling/Transformer/Stencil.h"
 
+// FixItHint - Hint to check documentation script to mark this check as
+// providing a FixIt.
+
 using namespace clang::ast_matchers;
 
 namespace clang {

diff  --git a/clang-tools-extra/clang-tidy/add_new_check.py 
b/clang-tools-extra/clang-tidy/add_new_check.py
index 454d128a5dcb..231f43c0b8f3 100755
--- a/clang-tools-extra/clang-tidy/add_new_check.py
+++ b/clang-tools-extra/clang-tidy/add_new_check.py
@@ -289,6 +289,19 @@ def write_test(module_path, module, check_name, 
test_extension):
 """ % {'check_name_dashes': check_name_dashes})
 
 
+def get_actual_filename(dirname, filename):
+  if not os.path.isdir(dirname): 
+    return ""
+  name = os.path.join(dirname, filename)
+  if (os.path.isfile(name)):
+    return name
+  caselessname = filename.lower()
+  for file in os.listdir(dirname):
+    if (file.lower() == caselessname):
+      return os.path.join(dirname, file)
+  return ""
+
+
 # Recreates the list of checks in the docs/clang-tidy/checks directory.
 def update_checks_list(clang_tidy_path):
   docs_dir = os.path.join(clang_tidy_path, '../docs/clang-tidy/checks')
@@ -304,7 +317,8 @@ def update_checks_list(clang_tidy_path):
   def has_auto_fix(check_name):
     dirname, _, check_name = check_name.partition("-")
 
-    checkerCode = os.path.join(dirname, get_camel_name(check_name)) + ".cpp"
+    checkerCode = get_actual_filename(dirname,
+                                      get_camel_name(check_name) + '.cpp')
 
     if not os.path.isfile(checkerCode):
       return ""

diff  --git 
a/clang-tools-extra/clang-tidy/llvmlibc/RestrictSystemLibcHeadersCheck.cpp 
b/clang-tools-extra/clang-tidy/llvmlibc/RestrictSystemLibcHeadersCheck.cpp
index 4a19b5359d4f..91842b4719c4 100644
--- a/clang-tools-extra/clang-tidy/llvmlibc/RestrictSystemLibcHeadersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/llvmlibc/RestrictSystemLibcHeadersCheck.cpp
@@ -12,6 +12,9 @@
 #include "clang/Lex/HeaderSearch.h"
 #include "clang/Lex/HeaderSearchOptions.h"
 
+// FixItHint - Hint to check documentation script to mark this check as
+// providing a FixIt.
+
 namespace clang {
 namespace tidy {
 namespace llvm_libc {

diff  --git a/clang-tools-extra/clang-tidy/modernize/MakeSharedCheck.cpp 
b/clang-tools-extra/clang-tidy/modernize/MakeSharedCheck.cpp
index 11d24432edaf..5ab3f3e26be2 100644
--- a/clang-tools-extra/clang-tidy/modernize/MakeSharedCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/MakeSharedCheck.cpp
@@ -8,6 +8,9 @@
 
 #include "MakeSharedCheck.h"
 
+// FixItHint - Hint to check documentation script to mark this check as
+// providing a FixIt.
+
 using namespace clang::ast_matchers;
 
 namespace clang {

diff  --git a/clang-tools-extra/docs/clang-tidy/checks/list.rst 
b/clang-tools-extra/docs/clang-tidy/checks/list.rst
index 17331605aa64..baa142e28e7f 100644
--- a/clang-tools-extra/docs/clang-tidy/checks/list.rst
+++ b/clang-tools-extra/docs/clang-tidy/checks/list.rst
@@ -133,6 +133,7 @@ Clang-Tidy Checks
    `clang-analyzer-valist.Uninitialized 
<clang-analyzer-valist.Uninitialized.html>`_,
    `clang-analyzer-valist.Unterminated 
<clang-analyzer-valist.Unterminated.html>`_,
    `cppcoreguidelines-avoid-goto <cppcoreguidelines-avoid-goto.html>`_,
+   `cppcoreguidelines-avoid-non-const-global-variables 
<cppcoreguidelines-avoid-non-const-global-variables.html>`_,
    `cppcoreguidelines-init-variables 
<cppcoreguidelines-init-variables.html>`_, "Yes"
    `cppcoreguidelines-interfaces-global-init 
<cppcoreguidelines-interfaces-global-init.html>`_,
    `cppcoreguidelines-macro-usage <cppcoreguidelines-macro-usage.html>`_,
@@ -189,7 +190,7 @@ Clang-Tidy Checks
    `llvm-prefer-isa-or-dyn-cast-in-conditionals 
<llvm-prefer-isa-or-dyn-cast-in-conditionals.html>`_, "Yes"
    `llvm-prefer-register-over-unsigned 
<llvm-prefer-register-over-unsigned.html>`_, "Yes"
    `llvm-twine-local <llvm-twine-local.html>`_, "Yes"
-   `llvmlibc-callee-namespace <llvmlibc-calle-namespace.html>`_,
+   `llvmlibc-callee-namespace <llvmlibc-callee-namespace.html>`_,
    `llvmlibc-implementation-in-namespace 
<llvmlibc-implementation-in-namespace.html>`_,
    `llvmlibc-restrict-system-libc-headers 
<llvmlibc-restrict-system-libc-headers.html>`_, "Yes"
    `misc-definitions-in-headers <misc-definitions-in-headers.html>`_, "Yes"
@@ -291,7 +292,7 @@ Clang-Tidy Checks
    `readability-redundant-member-init 
<readability-redundant-member-init.html>`_, "Yes"
    `readability-redundant-preprocessor 
<readability-redundant-preprocessor.html>`_,
    `readability-redundant-smartptr-get 
<readability-redundant-smartptr-get.html>`_, "Yes"
-   `readability-redundant-string-cstr 
<readability-redundant-string-cstr.html>`_,
+   `readability-redundant-string-cstr 
<readability-redundant-string-cstr.html>`_, "Yes"
    `readability-redundant-string-init 
<readability-redundant-string-init.html>`_, "Yes"
    `readability-simplify-boolean-expr 
<readability-simplify-boolean-expr.html>`_, "Yes"
    `readability-simplify-subscript-expr 
<readability-simplify-subscript-expr.html>`_, "Yes"
@@ -300,7 +301,7 @@ Clang-Tidy Checks
    `readability-string-compare <readability-string-compare.html>`_, "Yes"
    `readability-uniqueptr-delete-release 
<readability-uniqueptr-delete-release.html>`_, "Yes"
    `readability-uppercase-literal-suffix 
<readability-uppercase-literal-suffix.html>`_, "Yes"
-   `readability-use-anyofallof`_, "No"
+   `readability-use-anyofallof <readability-use-anyofallof.html>`_,
    `zircon-temporary-objects <zircon-temporary-objects.html>`_,
 
 
@@ -390,7 +391,6 @@ Clang-Tidy Checks
    `clang-analyzer-unix.cstring.NullArg 
<clang-analyzer-unix.cstring.NullArg.html>`_, `Clang Static Analyzer 
<https://clang.llvm.org/docs/analyzer/checkers.html>`_,
    `cppcoreguidelines-avoid-c-arrays 
<cppcoreguidelines-avoid-c-arrays.html>`_, `modernize-avoid-c-arrays 
<modernize-avoid-c-arrays.html>`_,
    `cppcoreguidelines-avoid-magic-numbers 
<cppcoreguidelines-avoid-magic-numbers.html>`_, `readability-magic-numbers 
<readability-magic-numbers.html>`_,
-   `cppcoreguidelines-avoid-non-const-global-variables 
<cppcoreguidelines-avoid-non-const-global-variables.html>`_, , , ""
    `cppcoreguidelines-c-copy-assignment-signature 
<cppcoreguidelines-c-copy-assignment-signature.html>`_, 
`misc-unconventional-assign-operator 
<misc-unconventional-assign-operator.html>`_,
    `cppcoreguidelines-explicit-virtual-functions 
<cppcoreguidelines-explicit-virtual-functions.html>`_, `modernize-use-override 
<modernize-use-override.html>`_, "Yes"
    `cppcoreguidelines-non-private-member-variables-in-classes 
<cppcoreguidelines-non-private-member-variables-in-classes.html>`_, 
`misc-non-private-member-variables-in-classes 
<misc-non-private-member-variables-in-classes.html>`_,
@@ -410,7 +410,7 @@ Clang-Tidy Checks
    `hicpp-new-delete-operators <hicpp-new-delete-operators.html>`_, 
`misc-new-delete-overloads <misc-new-delete-overloads.html>`_,
    `hicpp-no-array-decay <hicpp-no-array-decay.html>`_, 
`cppcoreguidelines-pro-bounds-array-to-pointer-decay 
<cppcoreguidelines-pro-bounds-array-to-pointer-decay.html>`_,
    `hicpp-no-malloc <hicpp-no-malloc.html>`_, `cppcoreguidelines-no-malloc 
<cppcoreguidelines-no-malloc.html>`_,
-   `hicpp-noexcept-move <hicpp-noexcept-move.html>`_, 
`performance-noexcept-move-constructor 
<performance-noexcept-move-constructor.html>`_,
+   `hicpp-noexcept-move <hicpp-noexcept-move.html>`_, 
`performance-noexcept-move-constructor 
<performance-noexcept-move-constructor.html>`_, "Yes"
    `hicpp-special-member-functions <hicpp-special-member-functions.html>`_, 
`cppcoreguidelines-special-member-functions 
<cppcoreguidelines-special-member-functions.html>`_,
    `hicpp-static-assert <hicpp-static-assert.html>`_, `misc-static-assert 
<misc-static-assert.html>`_, "Yes"
    `hicpp-undelegated-constructor <hicpp-undelegated-constructor.html>`_, 
`bugprone-undelegated-constructor <bugprone-undelegated-constructor.html>`_,
@@ -424,4 +424,3 @@ Clang-Tidy Checks
    `hicpp-use-override <hicpp-use-override.html>`_, `modernize-use-override 
<modernize-use-override.html>`_, "Yes"
    `hicpp-vararg <hicpp-vararg.html>`_, `cppcoreguidelines-pro-type-vararg 
<cppcoreguidelines-pro-type-vararg.html>`_,
    `llvm-qualified-auto <llvm-qualified-auto.html>`_, 
`readability-qualified-auto <readability-qualified-auto.html>`_, "Yes"
-


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to