sylvestre.ledru updated this revision to Diff 236922.
sylvestre.ledru added a comment.

remove artifcats


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D72421/new/

https://reviews.llvm.org/D72421

Files:
  clang-tools-extra/clang-tidy/add_new_check.py
  clang-tools-extra/clang-tidy/boost/BoostTidyModule.cpp
  clang-tools-extra/clang-tidy/boost/CMakeLists.txt
  clang-tools-extra/docs/ReleaseNotes.rst
  clang-tools-extra/docs/clang-tidy/checks/list.rst

Index: clang-tools-extra/docs/clang-tidy/checks/list.rst
===================================================================
--- clang-tools-extra/docs/clang-tidy/checks/list.rst
+++ clang-tools-extra/docs/clang-tidy/checks/list.rst
@@ -3,10 +3,15 @@
 Clang-Tidy Checks
 =================
 
+.. toctree::
+   :glob:
+   :hidden:
+
+   *
+
 .. csv-table::
    :header: "Name", "Offers fixes"
    :widths: 50, 20
-
    `abseil-duration-addition <abseil-duration-addition.html>`_, "Yes"
    `abseil-duration-comparison <abseil-duration-comparison.html>`_, "Yes"
    `abseil-duration-conversion-cast <abseil-duration-conversion-cast.html>`_, "Yes"
@@ -26,8 +31,8 @@
    `abseil-upgrade-duration-conversions <abseil-upgrade-duration-conversions.html>`_, "Yes"
    `android-cloexec-accept <android-cloexec-accept.html>`_, "Yes"
    `android-cloexec-accept4 <android-cloexec-accept4.html>`_,
-   `android-cloexec-creat <android-cloexec-creat.html>`_,
-   `android-cloexec-dup <android-cloexec-dup.html>`_,
+   `android-cloexec-creat <android-cloexec-creat.html>`_, "Yes"
+   `android-cloexec-dup <android-cloexec-dup.html>`_, "Yes"
    `android-cloexec-epoll-create <android-cloexec-epoll-create.html>`_,
    `android-cloexec-epoll-create1 <android-cloexec-epoll-create1.html>`_,
    `android-cloexec-fopen <android-cloexec-fopen.html>`_,
@@ -35,10 +40,73 @@
    `android-cloexec-inotify-init1 <android-cloexec-inotify-init1.html>`_,
    `android-cloexec-memfd-create <android-cloexec-memfd-create.html>`_,
    `android-cloexec-open <android-cloexec-open.html>`_,
-   `android-cloexec-pipe <android-cloexec-pipe.html>`_,
+   `android-cloexec-pipe <android-cloexec-pipe.html>`_, "Yes"
    `android-cloexec-pipe2 <android-cloexec-pipe2.html>`_,
    `android-cloexec-socket <android-cloexec-socket.html>`_,
-   `android-comparison-in-temp-failure-retry <android-comparison-in-temp-failure-retry.html>`_, "Yes"
+   `android-comparison-in-temp-failure-retry <android-comparison-in-temp-failure-retry.html>`_,
+   `boost-foo <boost-foo.html>`_, "Yes"
+   `boost-foo10 <boost-foo10.html>`_, "Yes"
+   `boost-foo11 <boost-foo11.html>`_, "Yes"
+   `boost-foo12 <boost-foo12.html>`_, "Yes"
+   `boost-foo13 <boost-foo13.html>`_, "Yes"
+   `boost-foo2 <boost-foo2.html>`_, "Yes"
+   `boost-foo3 <boost-foo3.html>`_, "Yes"
+   `boost-foo4 <boost-foo4.html>`_, "Yes"
+   `boost-foo5 <boost-foo5.html>`_, "Yes"
+   `boost-foo6 <boost-foo6.html>`_, "Yes"
+   `boost-foo7 <boost-foo7.html>`_, "Yes"
+   `boost-foo8 <boost-foo8.html>`_, "Yes"
+   `boost-foo9 <boost-foo9.html>`_, "Yes"
+   `boost-my-check-1 <boost-my-check-1.html>`_, "Yes"
+   `boost-my-check-10 <boost-my-check-10.html>`_, "Yes"
+   `boost-my-check-11 <boost-my-check-11.html>`_, "Yes"
+   `boost-my-check-12 <boost-my-check-12.html>`_, "Yes"
+   `boost-my-check-14 <boost-my-check-14.html>`_, "Yes"
+   `boost-my-check-19 <boost-my-check-19.html>`_, "Yes"
+   `boost-my-check-2 <boost-my-check-2.html>`_, "Yes"
+   `boost-my-check-20 <boost-my-check-20.html>`_, "Yes"
+   `boost-my-check-21 <boost-my-check-21.html>`_, "Yes"
+   `boost-my-check-22 <boost-my-check-22.html>`_, "Yes"
+   `boost-my-check-23 <boost-my-check-23.html>`_, "Yes"
+   `boost-my-check-24 <boost-my-check-24.html>`_, "Yes"
+   `boost-my-check-25 <boost-my-check-25.html>`_, "Yes"
+   `boost-my-check-26 <boost-my-check-26.html>`_, "Yes"
+   `boost-my-check-27 <boost-my-check-27.html>`_, "Yes"
+   `boost-my-check-28 <boost-my-check-28.html>`_, "Yes"
+   `boost-my-check-29 <boost-my-check-29.html>`_, "Yes"
+   `boost-my-check-3 <boost-my-check-3.html>`_, "Yes"
+   `boost-my-check-30 <boost-my-check-30.html>`_, "Yes"
+   `boost-my-check-31 <boost-my-check-31.html>`_, "Yes"
+   `boost-my-check-32 <boost-my-check-32.html>`_, "Yes"
+   `boost-my-check-33 <boost-my-check-33.html>`_, "Yes"
+   `boost-my-check-34 <boost-my-check-34.html>`_, "Yes"
+   `boost-my-check-35 <boost-my-check-35.html>`_, "Yes"
+   `boost-my-check-36 <boost-my-check-36.html>`_, "Yes"
+   `boost-my-check-37 <boost-my-check-37.html>`_, "Yes"
+   `boost-my-check-38 <boost-my-check-38.html>`_, "Yes"
+   `boost-my-check-39 <boost-my-check-39.html>`_, "Yes"
+   `boost-my-check-4 <boost-my-check-4.html>`_, "Yes"
+   `boost-my-check-5 <boost-my-check-5.html>`_, "Yes"
+   `boost-my-check-50 <boost-my-check-50.html>`_, "Yes"
+   `boost-my-check-51 <boost-my-check-51.html>`_, "Yes"
+   `boost-my-check-52 <boost-my-check-52.html>`_, "Yes"
+   `boost-my-check-54 <boost-my-check-54.html>`_, "Yes"
+   `boost-my-check-565 <boost-my-check-565.html>`_, "Yes"
+   `boost-my-check-57 <boost-my-check-57.html>`_, "Yes"
+   `boost-my-check-58 <boost-my-check-58.html>`_, "Yes"
+   `boost-my-check-59 <boost-my-check-59.html>`_, "Yes"
+   `boost-my-check-6 <boost-my-check-6.html>`_, "Yes"
+   `boost-my-check-60 <boost-my-check-60.html>`_, "Yes"
+   `boost-my-check-61 <boost-my-check-61.html>`_, "Yes"
+   `boost-my-check-62 <boost-my-check-62.html>`_, "Yes"
+   `boost-my-check-63 <boost-my-check-63.html>`_, "Yes"
+   `boost-my-check-64 <boost-my-check-64.html>`_, "Yes"
+   `boost-my-check-66 <boost-my-check-66.html>`_, "Yes"
+   `boost-my-check-68 <boost-my-check-68.html>`_, "Yes"
+   `boost-my-check-69 <boost-my-check-69.html>`_, "Yes"
+   `boost-my-check-7 <boost-my-check-7.html>`_, "Yes"
+   `boost-my-check-8 <boost-my-check-8.html>`_, "Yes"
+   `boost-my-check-9 <boost-my-check-9.html>`_, "Yes"
    `boost-use-to-string <boost-use-to-string.html>`_, "Yes"
    `bugprone-argument-comment <bugprone-argument-comment.html>`_, "Yes"
    `bugprone-assert-side-effect <bugprone-assert-side-effect.html>`_,
@@ -59,8 +127,8 @@
    `bugprone-lambda-function-name <bugprone-lambda-function-name.html>`_,
    `bugprone-macro-parentheses <bugprone-macro-parentheses.html>`_, "Yes"
    `bugprone-macro-repeated-side-effects <bugprone-macro-repeated-side-effects.html>`_,
-   `bugprone-misplaced-operator-in-strlen-in-alloc <bugprone-misplaced-operator-in-strlen-in-alloc.html>`_,
-   `bugprone-misplaced-widening-cast <bugprone-misplaced-widening-cast.html>`_, "Yes"
+   `bugprone-misplaced-operator-in-strlen-in-alloc <bugprone-misplaced-operator-in-strlen-in-alloc.html>`_, "Yes"
+   `bugprone-misplaced-widening-cast <bugprone-misplaced-widening-cast.html>`_,
    `bugprone-move-forwarding-reference <bugprone-move-forwarding-reference.html>`_, "Yes"
    `bugprone-multiple-statement-macro <bugprone-multiple-statement-macro.html>`_,
    `bugprone-not-null-terminated-result <bugprone-not-null-terminated-result.html>`_, "Yes"
@@ -150,19 +218,19 @@
    `fuchsia-statically-constructed-objects <fuchsia-statically-constructed-objects.html>`_,
    `fuchsia-trailing-return <fuchsia-trailing-return.html>`_,
    `fuchsia-virtual-inheritance <fuchsia-virtual-inheritance.html>`_,
-   `google-build-explicit-make-pair <google-build-explicit-make-pair.html>`_, "Yes"
+   `google-build-explicit-make-pair <google-build-explicit-make-pair.html>`_,
    `google-build-namespaces <google-build-namespaces.html>`_,
    `google-build-using-namespace <google-build-using-namespace.html>`_,
    `google-default-arguments <google-default-arguments.html>`_,
    `google-explicit-constructor <google-explicit-constructor.html>`_, "Yes"
-   `google-global-names-in-headers <google-global-names-in-headers.html>`_, "Yes"
-   `google-objc-avoid-nsobject-new <google-objc-avoid-nsobject-new.html>`_, "Yes"
+   `google-global-names-in-headers <google-global-names-in-headers.html>`_,
+   `google-objc-avoid-nsobject-new <google-objc-avoid-nsobject-new.html>`_,
    `google-objc-avoid-throwing-exception <google-objc-avoid-throwing-exception.html>`_,
-   `google-objc-function-naming <google-objc-function-naming.html>`_, "Yes"
+   `google-objc-function-naming <google-objc-function-naming.html>`_,
    `google-objc-global-variable-declaration <google-objc-global-variable-declaration.html>`_,
    `google-readability-avoid-underscore-in-googletest-name <google-readability-avoid-underscore-in-googletest-name.html>`_,
-   `google-readability-casting <google-readability-casting.html>`_, "Yes"
-   `google-readability-todo <google-readability-todo.html>`_, "Yes"
+   `google-readability-casting <google-readability-casting.html>`_,
+   `google-readability-todo <google-readability-todo.html>`_,
    `google-runtime-int <google-runtime-int.html>`_,
    `google-runtime-operator <google-runtime-operator.html>`_,
    `google-runtime-references <google-runtime-references.html>`_,
@@ -173,6 +241,8 @@
    `hicpp-no-assembler <hicpp-no-assembler.html>`_,
    `hicpp-signed-bitwise <hicpp-signed-bitwise.html>`_,
    `linuxkernel-must-use-errs <linuxkernel-must-use-errs.html>`_,
+   `list.backup <list.backup.html>`_,
+   `list.test <list.test.html>`_,
    `llvm-header-guard <llvm-header-guard.html>`_,
    `llvm-include-order <llvm-include-order.html>`_, "Yes"
    `llvm-namespace-comment <llvm-namespace-comment.html>`_,
@@ -198,8 +268,8 @@
    `modernize-deprecated-headers <modernize-deprecated-headers.html>`_, "Yes"
    `modernize-deprecated-ios-base-aliases <modernize-deprecated-ios-base-aliases.html>`_, "Yes"
    `modernize-loop-convert <modernize-loop-convert.html>`_, "Yes"
-   `modernize-make-shared <modernize-make-shared.html>`_, "Yes"
-   `modernize-make-unique <modernize-make-unique.html>`_, "Yes"
+   `modernize-make-shared <modernize-make-shared.html>`_,
+   `modernize-make-unique <modernize-make-unique.html>`_,
    `modernize-pass-by-value <modernize-pass-by-value.html>`_, "Yes"
    `modernize-raw-string-literal <modernize-raw-string-literal.html>`_, "Yes"
    `modernize-redundant-void-arg <modernize-redundant-void-arg.html>`_, "Yes"
@@ -211,6 +281,7 @@
    `modernize-use-auto <modernize-use-auto.html>`_, "Yes"
    `modernize-use-bool-literals <modernize-use-bool-literals.html>`_, "Yes"
    `modernize-use-default-member-init <modernize-use-default-member-init.html>`_, "Yes"
+   ` <.html>`_,
    `modernize-use-emplace <modernize-use-emplace.html>`_, "Yes"
    `modernize-use-equals-default <modernize-use-equals-default.html>`_, "Yes"
    `modernize-use-equals-delete <modernize-use-equals-delete.html>`_, "Yes"
@@ -233,29 +304,31 @@
    `openmp-use-default-none <openmp-use-default-none.html>`_,
    `performance-faster-string-find <performance-faster-string-find.html>`_, "Yes"
    `performance-for-range-copy <performance-for-range-copy.html>`_, "Yes"
+   ` <.html>`_,
    `performance-implicit-conversion-in-loop <performance-implicit-conversion-in-loop.html>`_,
    `performance-inefficient-algorithm <performance-inefficient-algorithm.html>`_, "Yes"
    `performance-inefficient-string-concatenation <performance-inefficient-string-concatenation.html>`_,
    `performance-inefficient-vector-operation <performance-inefficient-vector-operation.html>`_, "Yes"
    `performance-move-const-arg <performance-move-const-arg.html>`_, "Yes"
-   `performance-move-constructor-init <performance-move-constructor-init.html>`_,
+   `performance-move-constructor-init <performance-move-constructor-init.html>`_, "Yes"
    `performance-no-automatic-move <performance-no-automatic-move.html>`_,
    `performance-noexcept-move-constructor <performance-noexcept-move-constructor.html>`_, "Yes"
    `performance-trivially-destructible <performance-trivially-destructible.html>`_, "Yes"
    `performance-type-promotion-in-math-fn <performance-type-promotion-in-math-fn.html>`_, "Yes"
-   `performance-unnecessary-copy-initialization <performance-unnecessary-copy-initialization.html>`_, "Yes"
+   `performance-unnecessary-copy-initialization <performance-unnecessary-copy-initialization.html>`_,
    `performance-unnecessary-value-param <performance-unnecessary-value-param.html>`_, "Yes"
    `portability-simd-intrinsics <portability-simd-intrinsics.html>`_,
-   `readability-avoid-const-params-in-decls <readability-avoid-const-params-in-decls.html>`_, "Yes"
+   `readability-avoid-const-params-in-decls <readability-avoid-const-params-in-decls.html>`_,
    `readability-braces-around-statements <readability-braces-around-statements.html>`_, "Yes"
    `readability-const-return-type <readability-const-return-type.html>`_, "Yes"
    `readability-container-size-empty <readability-container-size-empty.html>`_, "Yes"
-   `readability-convert-member-functions-to-static <readability-convert-member-functions-to-static.html>`_, "Yes"
+   `readability-convert-member-functions-to-static <readability-convert-member-functions-to-static.html>`_,
    `readability-delete-null-pointer <readability-delete-null-pointer.html>`_, "Yes"
    `readability-deleted-default <readability-deleted-default.html>`_,
    `readability-else-after-return <readability-else-after-return.html>`_, "Yes"
    `readability-function-size <readability-function-size.html>`_,
    `readability-identifier-naming <readability-identifier-naming.html>`_, "Yes"
+   ` <.html>`_,
    `readability-implicit-bool-conversion <readability-implicit-bool-conversion.html>`_, "Yes"
    `readability-inconsistent-declaration-parameter-name <readability-inconsistent-declaration-parameter-name.html>`_, "Yes"
    `readability-isolate-declaration <readability-isolate-declaration.html>`_, "Yes"
@@ -272,23 +345,19 @@
    `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>`_, "Yes"
+   `readability-redundant-string-cstr <readability-redundant-string-cstr.html>`_,
    `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"
    `readability-static-accessed-through-instance <readability-static-accessed-through-instance.html>`_, "Yes"
-   `readability-static-definitioreadability <readability-static-definition-in-anonymous-namespace.html>`_, "Yes"
+   `readability-static-definition-in-anonymous-namespace <readability-static-definition-in-anonymous-namespace.html>`_, "Yes"
    `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"
    `zircon-temporary-objects <zircon-temporary-objects.html>`_,
-
-
-
 .. csv-table:: Aliases..
    :header: "Name", "Redirect", "Offers fixes"
    :widths: 50, 50, 10
-
    `cert-dcl03-c <cert-dcl03-c.html>`_, `misc-static-assert <misc-static-assert.html>`_, "Yes"
    `cert-dcl16-c <cert-dcl16-c.html>`_, `readability-uppercase-literal-suffix <readability-uppercase-literal-suffix.html>`_, "Yes"
    `cert-dcl54-cpp <cert-dcl54-cpp.html>`_, `misc-new-delete-overloads <misc-new-delete-overloads.html>`_,
@@ -298,7 +367,7 @@
    `cert-fio38-c <cert-fio38-c.html>`_, `misc-non-copyable-objects <misc-non-copyable-objects.html>`_,
    `cert-msc30-c <cert-msc30-c.html>`_, `cert-msc50-cpp <cert-msc50-cpp.html>`_,
    `cert-msc32-c <cert-msc32-c.html>`_, `cert-msc51-cpp <cert-msc51-cpp.html>`_,
-   `cert-oop11-cpp <cert-oop11-cpp.html>`_, `performance-move-constructor-init <performance-move-constructor-init.html>`_,
+   `cert-oop11-cpp <cert-oop11-cpp.html>`_, `performance-move-constructor-init <performance-move-constructor-init.html>`_, "Yes"
    `cert-oop54-cpp <cert-oop54-cpp.html>`_, `bugprone-unhandled-self-assignment <bugprone-unhandled-self-assignment.html>`_,
    `cert-pos44-c <cert-pos44-c.html>`_, `bugprone-bad-signal-to-kill-thread <bugprone-bad-signal-to-kill-thread.html>`_,
    `clang-analyzer-core.CallAndMessage <clang-analyzer-core.CallAndMessage.html>`_, `Clang Static Analyzer <https://clang.llvm.org/docs/analyzer/checkers.html>`_,
@@ -368,7 +437,7 @@
    `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-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>`_,
+   `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>`_,
    `fuchsia-header-anon-namespaces <fuchsia-header-anon-namespaces.html>`_, `google-build-namespaces <google-build-namespaces.html>`_,
    `google-readability-braces-around-statements <google-readability-braces-around-statements.html>`_, `readability-braces-around-statements <readability-braces-around-statements.html>`_, "Yes"
@@ -386,7 +455,7 @@
    `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>`_, `misc-noexcept-moveconstructor <misc-noexcept-moveconstructor.html>`_, "Yes"
+   `hicpp-noexcept-move <hicpp-noexcept-move.html>`_, `misc-noexcept-moveconstructor <misc-noexcept-moveconstructor.html>`_,
    `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>`_,
@@ -399,9 +468,3 @@
    `hicpp-use-nullptr <hicpp-use-nullptr.html>`_, `modernize-use-nullptr <modernize-use-nullptr.html>`_, "Yes"
    `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>`_,
-
-.. toctree::
-   :glob:
-   :hidden:
-
-   *
Index: clang-tools-extra/docs/ReleaseNotes.rst
===================================================================
--- clang-tools-extra/docs/ReleaseNotes.rst
+++ clang-tools-extra/docs/ReleaseNotes.rst
@@ -67,6 +67,11 @@
 Improvements to clang-tidy
 --------------------------
 
+- New :doc:`boost-my-check-69
+  <clang-tidy/checks/boost-my-check-69>` check.
+
+  FIXME: add release notes.
+
 - New :doc:`bugprone-bad-signal-to-kill-thread
   <clang-tidy/checks/bugprone-bad-signal-to-kill-thread>` check.
 
Index: clang-tools-extra/clang-tidy/boost/CMakeLists.txt
===================================================================
--- clang-tools-extra/clang-tidy/boost/CMakeLists.txt
+++ clang-tools-extra/clang-tidy/boost/CMakeLists.txt
@@ -2,6 +2,58 @@
 
 add_clang_library(clangTidyBoostModule
   BoostTidyModule.cpp
+  Foo12Check.cpp
+  Foo13Check.cpp
+  MyCheck10Check.cpp
+  MyCheck11Check.cpp
+  MyCheck12Check.cpp
+  MyCheck14Check.cpp
+  MyCheck19Check.cpp
+  MyCheck1Check.cpp
+  MyCheck20Check.cpp
+  MyCheck21Check.cpp
+  MyCheck22Check.cpp
+  MyCheck23Check.cpp
+  MyCheck24Check.cpp
+  MyCheck25Check.cpp
+  MyCheck26Check.cpp
+  MyCheck27Check.cpp
+  MyCheck28Check.cpp
+  MyCheck29Check.cpp
+  MyCheck2Check.cpp
+  MyCheck30Check.cpp
+  MyCheck31Check.cpp
+  MyCheck32Check.cpp
+  MyCheck33Check.cpp
+  MyCheck34Check.cpp
+  MyCheck35Check.cpp
+  MyCheck36Check.cpp
+  MyCheck37Check.cpp
+  MyCheck38Check.cpp
+  MyCheck39Check.cpp
+  MyCheck3Check.cpp
+  MyCheck4Check.cpp
+  MyCheck50Check.cpp
+  MyCheck51Check.cpp
+  MyCheck52Check.cpp
+  MyCheck54Check.cpp
+  MyCheck565Check.cpp
+  MyCheck57Check.cpp
+  MyCheck58Check.cpp
+  MyCheck59Check.cpp
+  MyCheck5Check.cpp
+  MyCheck60Check.cpp
+  MyCheck61Check.cpp
+  MyCheck62Check.cpp
+  MyCheck63Check.cpp
+  MyCheck64Check.cpp
+  MyCheck66Check.cpp
+  MyCheck68Check.cpp
+  MyCheck69Check.cpp
+  MyCheck6Check.cpp
+  MyCheck7Check.cpp
+  MyCheck8Check.cpp
+  MyCheck9Check.cpp
   UseToStringCheck.cpp
 
   LINK_LIBS
Index: clang-tools-extra/clang-tidy/boost/BoostTidyModule.cpp
===================================================================
--- clang-tools-extra/clang-tidy/boost/BoostTidyModule.cpp
+++ clang-tools-extra/clang-tidy/boost/BoostTidyModule.cpp
@@ -9,6 +9,58 @@
 #include "../ClangTidy.h"
 #include "../ClangTidyModule.h"
 #include "../ClangTidyModuleRegistry.h"
+#include "Foo12Check.h"
+#include "Foo13Check.h"
+#include "MyCheck10Check.h"
+#include "MyCheck11Check.h"
+#include "MyCheck12Check.h"
+#include "MyCheck14Check.h"
+#include "MyCheck19Check.h"
+#include "MyCheck1Check.h"
+#include "MyCheck20Check.h"
+#include "MyCheck21Check.h"
+#include "MyCheck22Check.h"
+#include "MyCheck23Check.h"
+#include "MyCheck24Check.h"
+#include "MyCheck25Check.h"
+#include "MyCheck26Check.h"
+#include "MyCheck27Check.h"
+#include "MyCheck28Check.h"
+#include "MyCheck29Check.h"
+#include "MyCheck2Check.h"
+#include "MyCheck30Check.h"
+#include "MyCheck31Check.h"
+#include "MyCheck32Check.h"
+#include "MyCheck33Check.h"
+#include "MyCheck34Check.h"
+#include "MyCheck35Check.h"
+#include "MyCheck36Check.h"
+#include "MyCheck37Check.h"
+#include "MyCheck38Check.h"
+#include "MyCheck39Check.h"
+#include "MyCheck3Check.h"
+#include "MyCheck4Check.h"
+#include "MyCheck50Check.h"
+#include "MyCheck51Check.h"
+#include "MyCheck52Check.h"
+#include "MyCheck54Check.h"
+#include "MyCheck565Check.h"
+#include "MyCheck57Check.h"
+#include "MyCheck58Check.h"
+#include "MyCheck59Check.h"
+#include "MyCheck5Check.h"
+#include "MyCheck60Check.h"
+#include "MyCheck61Check.h"
+#include "MyCheck62Check.h"
+#include "MyCheck63Check.h"
+#include "MyCheck64Check.h"
+#include "MyCheck66Check.h"
+#include "MyCheck68Check.h"
+#include "MyCheck69Check.h"
+#include "MyCheck6Check.h"
+#include "MyCheck7Check.h"
+#include "MyCheck8Check.h"
+#include "MyCheck9Check.h"
 #include "UseToStringCheck.h"
 using namespace clang::ast_matchers;
 
@@ -19,6 +71,110 @@
 class BoostModule : public ClangTidyModule {
 public:
   void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
+    CheckFactories.registerCheck<Foo12Check>(
+        "boost-foo12");
+    CheckFactories.registerCheck<Foo13Check>(
+        "boost-foo13");
+    CheckFactories.registerCheck<MyCheck1Check>(
+        "boost-my-check-1");
+    CheckFactories.registerCheck<MyCheck10Check>(
+        "boost-my-check-10");
+    CheckFactories.registerCheck<MyCheck11Check>(
+        "boost-my-check-11");
+    CheckFactories.registerCheck<MyCheck12Check>(
+        "boost-my-check-12");
+    CheckFactories.registerCheck<MyCheck14Check>(
+        "boost-my-check-14");
+    CheckFactories.registerCheck<MyCheck19Check>(
+        "boost-my-check-19");
+    CheckFactories.registerCheck<MyCheck2Check>(
+        "boost-my-check-2");
+    CheckFactories.registerCheck<MyCheck20Check>(
+        "boost-my-check-20");
+    CheckFactories.registerCheck<MyCheck21Check>(
+        "boost-my-check-21");
+    CheckFactories.registerCheck<MyCheck22Check>(
+        "boost-my-check-22");
+    CheckFactories.registerCheck<MyCheck23Check>(
+        "boost-my-check-23");
+    CheckFactories.registerCheck<MyCheck24Check>(
+        "boost-my-check-24");
+    CheckFactories.registerCheck<MyCheck25Check>(
+        "boost-my-check-25");
+    CheckFactories.registerCheck<MyCheck26Check>(
+        "boost-my-check-26");
+    CheckFactories.registerCheck<MyCheck27Check>(
+        "boost-my-check-27");
+    CheckFactories.registerCheck<MyCheck28Check>(
+        "boost-my-check-28");
+    CheckFactories.registerCheck<MyCheck29Check>(
+        "boost-my-check-29");
+    CheckFactories.registerCheck<MyCheck3Check>(
+        "boost-my-check-3");
+    CheckFactories.registerCheck<MyCheck30Check>(
+        "boost-my-check-30");
+    CheckFactories.registerCheck<MyCheck31Check>(
+        "boost-my-check-31");
+    CheckFactories.registerCheck<MyCheck32Check>(
+        "boost-my-check-32");
+    CheckFactories.registerCheck<MyCheck33Check>(
+        "boost-my-check-33");
+    CheckFactories.registerCheck<MyCheck34Check>(
+        "boost-my-check-34");
+    CheckFactories.registerCheck<MyCheck35Check>(
+        "boost-my-check-35");
+    CheckFactories.registerCheck<MyCheck36Check>(
+        "boost-my-check-36");
+    CheckFactories.registerCheck<MyCheck37Check>(
+        "boost-my-check-37");
+    CheckFactories.registerCheck<MyCheck38Check>(
+        "boost-my-check-38");
+    CheckFactories.registerCheck<MyCheck39Check>(
+        "boost-my-check-39");
+    CheckFactories.registerCheck<MyCheck4Check>(
+        "boost-my-check-4");
+    CheckFactories.registerCheck<MyCheck5Check>(
+        "boost-my-check-5");
+    CheckFactories.registerCheck<MyCheck50Check>(
+        "boost-my-check-50");
+    CheckFactories.registerCheck<MyCheck51Check>(
+        "boost-my-check-51");
+    CheckFactories.registerCheck<MyCheck52Check>(
+        "boost-my-check-52");
+    CheckFactories.registerCheck<MyCheck54Check>(
+        "boost-my-check-54");
+    CheckFactories.registerCheck<MyCheck565Check>(
+        "boost-my-check-565");
+    CheckFactories.registerCheck<MyCheck57Check>(
+        "boost-my-check-57");
+    CheckFactories.registerCheck<MyCheck58Check>(
+        "boost-my-check-58");
+    CheckFactories.registerCheck<MyCheck59Check>(
+        "boost-my-check-59");
+    CheckFactories.registerCheck<MyCheck6Check>(
+        "boost-my-check-6");
+    CheckFactories.registerCheck<MyCheck60Check>(
+        "boost-my-check-60");
+    CheckFactories.registerCheck<MyCheck61Check>(
+        "boost-my-check-61");
+    CheckFactories.registerCheck<MyCheck62Check>(
+        "boost-my-check-62");
+    CheckFactories.registerCheck<MyCheck63Check>(
+        "boost-my-check-63");
+    CheckFactories.registerCheck<MyCheck64Check>(
+        "boost-my-check-64");
+    CheckFactories.registerCheck<MyCheck66Check>(
+        "boost-my-check-66");
+    CheckFactories.registerCheck<MyCheck68Check>(
+        "boost-my-check-68");
+    CheckFactories.registerCheck<MyCheck69Check>(
+        "boost-my-check-69");
+    CheckFactories.registerCheck<MyCheck7Check>(
+        "boost-my-check-7");
+    CheckFactories.registerCheck<MyCheck8Check>(
+        "boost-my-check-8");
+    CheckFactories.registerCheck<MyCheck9Check>(
+        "boost-my-check-9");
     CheckFactories.registerCheck<UseToStringCheck>("boost-use-to-string");
   }
 };
Index: clang-tools-extra/clang-tidy/add_new_check.py
===================================================================
--- clang-tools-extra/clang-tidy/add_new_check.py
+++ clang-tools-extra/clang-tidy/add_new_check.py
@@ -294,37 +294,88 @@
 def update_checks_list(clang_tidy_path):
   docs_dir = os.path.join(clang_tidy_path, '../docs/clang-tidy/checks')
   filename = os.path.normpath(os.path.join(docs_dir, 'list.rst'))
+  # Read the content of the current list.rst file
   with open(filename, 'r') as f:
     lines = f.readlines()
+  # Get all existing docs
   doc_files = list(filter(lambda s: s.endswith('.rst') and s != 'list.rst',
                      os.listdir(docs_dir)))
   doc_files.sort()
 
-  def format_link(doc_file):
+  def has_auto_fix(check_name):
+    dirname, _, check_name = check_name.partition("-")
+
+    checkerCode = os.path.join(dirname,get_camel_name(check_name)) + ".cpp"
+
+    if not os.path.isfile(checkerCode):
+      return ""
+
+    with open(checkerCode) as f:
+      code = f.read()
+      if 'FixItHint' in code or "ReplacementText" in code or "fixit" in code:
+        # Some stupid heuristics to figure out if a checker has an autofix or not
+        return ' "Yes"'
+    return ""
+
+  def process_doc(doc_file):
     check_name = doc_file.replace('.rst', '')
+
     with open(os.path.join(docs_dir, doc_file), 'r') as doc:
       content = doc.read()
       match = re.search('.*:orphan:.*', content)
+
       if match:
-        return ''
+        # Orphan page, don't list it
+        return '', ''
 
       match = re.search('.*:http-equiv=refresh: \d+;URL=(.*).html.*',
                         content)
-      if match:
-        return '   %(check)s (redirects to %(target)s) <%(check)s>\n' % {
-            'check': check_name,
-            'target': match.group(1)
-        }
-      return '   %s\n' % check_name
+      # Is it a redirect?
+      return check_name, match
+
+  def format_link(doc_file):
+    check_name, match = process_doc(doc_file)
+    if not match:
+      return '   `%(check)s <%(check)s.html>`_,%(autofix)s\n' % {
+        'check': check_name,
+        'autofix': has_auto_fix(check_name)
+      }
+    else:
+      return ''
+
+  def format_link_alias(doc_file):
+    check_name, match = process_doc(doc_file)
+    if match:
+      if match.group(1) == 'https://clang.llvm.org/docs/analyzer/checkers':
+        titleRedirect = 'Clang Static Analyzer'
+      else:
+        titleRedirect = match.group(1)
+      # The checker is just a redirect
+      return '   `%(check)s <%(check)s.html>`_, `%(title)s <%(target)s.html>`_,%(autofix)s\n' % {
+        'check': check_name,
+        'target': match.group(1),
+        'title': titleRedirect,
+        'autofix': has_auto_fix(match.group(1))
+      }
+    return ''
 
   checks = map(format_link, doc_files)
+  checks_alias = map(format_link_alias, doc_files)
 
   print('Updating %s...' % filename)
   with open(filename, 'w') as f:
     for line in lines:
       f.write(line)
-      if line.startswith('.. toctree::'):
+      if line.strip() == ".. csv-table::":
+        # We dump the checkers
+        f.write('   :header: "Name", "Offers fixes"\n')
+        f.write('   :widths: 50, 20\n')
         f.writelines(checks)
+        # and the aliases
+        f.write('.. csv-table:: Aliases..\n')
+        f.write('   :header: "Name", "Redirect", "Offers fixes"\n')
+        f.write('   :widths: 50, 50, 10\n')
+        f.writelines(checks_alias)
         break
 
 
@@ -345,6 +396,11 @@
        'underline': '=' * len(check_name_dashes)})
 
 
+def get_camel_name(check_name):
+  return ''.join(map(lambda elem: elem.capitalize(),
+                     check_name.split('-'))) + 'Check'
+
+
 def main():
   language_to_extension = {
       'c': 'c',
@@ -384,13 +440,11 @@
 
   module = args.module
   check_name = args.check
-
+  check_name_camel = get_camel_name(check_name)
   if check_name.startswith(module):
     print('Check name "%s" must not start with the module "%s". Exiting.' % (
         check_name, module))
     return
-  check_name_camel = ''.join(map(lambda elem: elem.capitalize(),
-                                 check_name.split('-'))) + 'Check'
   clang_tidy_path = os.path.dirname(sys.argv[0])
   module_path = os.path.join(clang_tidy_path, module)
 
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to