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
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits