Skip to content

Commit df43e3a

Browse files
authored
Bump clang-tidy from 18 to 22 (#133)
1 parent b0a60cd commit df43e3a

3 files changed

Lines changed: 230 additions & 0 deletions

File tree

.clang-tidy

Lines changed: 224 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,224 @@
1+
---
2+
Checks: >-
3+
*,
4+
-abseil-*,
5+
-altera-*,
6+
-android-*,
7+
-boost-*,
8+
-bugprone-derived-method-shadowing-base-method,
9+
-bugprone-easily-swappable-parameters,
10+
-bugprone-implicit-widening-of-multiplication-result,
11+
-bugprone-invalid-enum-default-initialization,
12+
-bugprone-multi-level-implicit-pointer-conversion,
13+
-bugprone-narrowing-conversions,
14+
-bugprone-tagged-union-member-count,
15+
-bugprone-signed-char-misuse,
16+
-bugprone-switch-missing-default-case,
17+
-cert-dcl50-cpp,
18+
-cert-err33-c,
19+
-cert-err58-cpp,
20+
-cert-int09-c,
21+
-cert-oop57-cpp,
22+
-cert-str34-c,
23+
-clang-analyzer-optin.core.EnumCastOutOfRange,
24+
-clang-analyzer-optin.cplusplus.UninitializedObject,
25+
-clang-analyzer-osx.*,
26+
-clang-analyzer-security.ArrayBound,
27+
-clang-diagnostic-delete-abstract-non-virtual-dtor,
28+
-clang-diagnostic-delete-non-abstract-non-virtual-dtor,
29+
-clang-diagnostic-deprecated-declarations,
30+
-clang-diagnostic-ignored-optimization-argument,
31+
-clang-diagnostic-missing-designated-field-initializers,
32+
-clang-diagnostic-missing-field-initializers,
33+
-clang-diagnostic-shadow-field,
34+
-clang-diagnostic-unused-const-variable,
35+
-clang-diagnostic-unused-parameter,
36+
-clang-diagnostic-vla-cxx-extension,
37+
-concurrency-*,
38+
-cppcoreguidelines-avoid-c-arrays,
39+
-cppcoreguidelines-avoid-const-or-ref-data-members,
40+
-cppcoreguidelines-avoid-do-while,
41+
-cppcoreguidelines-avoid-magic-numbers,
42+
-cppcoreguidelines-init-variables,
43+
-cppcoreguidelines-macro-to-enum,
44+
-cppcoreguidelines-macro-usage,
45+
-cppcoreguidelines-missing-std-forward,
46+
-cppcoreguidelines-narrowing-conversions,
47+
-cppcoreguidelines-non-private-member-variables-in-classes,
48+
-cppcoreguidelines-owning-memory,
49+
-cppcoreguidelines-prefer-member-initializer,
50+
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
51+
-cppcoreguidelines-pro-bounds-avoid-unchecked-container-access,
52+
-cppcoreguidelines-pro-bounds-constant-array-index,
53+
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
54+
-cppcoreguidelines-pro-type-const-cast,
55+
-cppcoreguidelines-pro-type-cstyle-cast,
56+
-cppcoreguidelines-pro-type-member-init,
57+
-cppcoreguidelines-pro-type-reinterpret-cast,
58+
-cppcoreguidelines-pro-type-static-cast-downcast,
59+
-cppcoreguidelines-pro-type-union-access,
60+
-cppcoreguidelines-pro-type-vararg,
61+
-cppcoreguidelines-rvalue-reference-param-not-moved,
62+
-cppcoreguidelines-special-member-functions,
63+
-cppcoreguidelines-use-default-member-init,
64+
-cppcoreguidelines-use-enum-class,
65+
-cppcoreguidelines-virtual-class-destructor,
66+
-fuchsia-default-arguments-calls,
67+
-fuchsia-default-arguments-declarations,
68+
-fuchsia-multiple-inheritance,
69+
-fuchsia-overloaded-operator,
70+
-fuchsia-statically-constructed-objects,
71+
-google-build-using-namespace,
72+
-google-explicit-constructor,
73+
-google-readability-braces-around-statements,
74+
-google-readability-casting,
75+
-google-readability-namespace-comments,
76+
-google-readability-todo,
77+
-google-runtime-references,
78+
-hicpp-*,
79+
-llvm-else-after-return,
80+
-llvm-header-guard,
81+
-llvm-include-order,
82+
-llvm-prefer-static-over-anonymous-namespace,
83+
-llvm-qualified-auto,
84+
-llvm-use-ranges,
85+
-llvmlibc-*,
86+
-misc-const-correctness,
87+
-misc-include-cleaner,
88+
-misc-multiple-inheritance,
89+
-misc-no-recursion,
90+
-misc-non-private-member-variables-in-classes,
91+
-misc-override-with-different-visibility,
92+
-misc-unused-parameters,
93+
-misc-use-anonymous-namespace,
94+
-misc-use-internal-linkage,
95+
-modernize-avoid-bind,
96+
-modernize-avoid-variadic-functions,
97+
-modernize-avoid-c-arrays,
98+
-modernize-avoid-c-style-cast,
99+
-modernize-concat-nested-namespaces,
100+
-modernize-macro-to-enum,
101+
-modernize-return-braced-init-list,
102+
-modernize-type-traits,
103+
-modernize-use-auto,
104+
-modernize-use-constraints,
105+
-modernize-use-default-member-init,
106+
-modernize-use-designated-initializers,
107+
-modernize-use-equals-default,
108+
-modernize-use-integer-sign-comparison,
109+
-modernize-use-nodiscard,
110+
-modernize-use-nullptr,
111+
-modernize-use-ranges,
112+
-modernize-use-trailing-return-type,
113+
-mpi-*,
114+
-objc-*,
115+
-performance-enum-size,
116+
-portability-avoid-pragma-once,
117+
-portability-template-virtual-member-function,
118+
-readability-ambiguous-smartptr-reset-call,
119+
-readability-avoid-nested-conditional-operator,
120+
-readability-container-contains,
121+
-readability-container-data-pointer,
122+
-readability-convert-member-functions-to-static,
123+
-readability-else-after-return,
124+
-readability-enum-initial-value,
125+
-readability-function-cognitive-complexity,
126+
-readability-implicit-bool-conversion,
127+
-readability-isolate-declaration,
128+
-readability-magic-numbers,
129+
-readability-make-member-function-const,
130+
-readability-math-missing-parentheses,
131+
-readability-named-parameter,
132+
-readability-redundant-casting,
133+
-readability-redundant-inline-specifier,
134+
-readability-redundant-member-init,
135+
-readability-redundant-parentheses,
136+
-readability-redundant-string-init,
137+
-readability-redundant-typename,
138+
-readability-uppercase-literal-suffix,
139+
-readability-use-anyofallof,
140+
-readability-use-std-min-max,
141+
-readability-use-concise-preprocessor-directives,
142+
WarningsAsErrors: '*'
143+
FormatStyle: google
144+
CheckOptions:
145+
- key: google-readability-function-size.StatementThreshold
146+
value: '800'
147+
- key: google-runtime-int.TypeSuffix
148+
value: '_t'
149+
- key: llvm-namespace-comment.ShortNamespaceLines
150+
value: '10'
151+
- key: llvm-namespace-comment.SpacesBeforeComments
152+
value: '2'
153+
- key: modernize-loop-convert.MaxCopySize
154+
value: '16'
155+
- key: modernize-loop-convert.MinConfidence
156+
value: reasonable
157+
- key: modernize-loop-convert.NamingStyle
158+
value: CamelCase
159+
- key: modernize-pass-by-value.IncludeStyle
160+
value: llvm
161+
- key: modernize-replace-auto-ptr.IncludeStyle
162+
value: llvm
163+
- key: modernize-use-nullptr.NullMacros
164+
value: 'NULL'
165+
- key: modernize-make-unique.MakeSmartPtrFunction
166+
value: 'make_unique'
167+
- key: modernize-make-unique.MakeSmartPtrFunctionHeader
168+
value: 'esphome/core/helpers.h'
169+
- key: readability-braces-around-statements.ShortStatementLines
170+
value: 2
171+
- key: readability-identifier-naming.LocalVariableCase
172+
value: 'lower_case'
173+
- key: readability-identifier-naming.ClassCase
174+
value: 'CamelCase'
175+
- key: readability-identifier-naming.StructCase
176+
value: 'CamelCase'
177+
- key: readability-identifier-naming.EnumCase
178+
value: 'CamelCase'
179+
- key: readability-identifier-naming.EnumConstantCase
180+
value: 'UPPER_CASE'
181+
- key: readability-identifier-naming.StaticConstantCase
182+
value: 'UPPER_CASE'
183+
- key: readability-identifier-naming.StaticVariableCase
184+
value: 'lower_case'
185+
- key: readability-identifier-naming.GlobalConstantCase
186+
value: 'UPPER_CASE'
187+
- key: readability-identifier-naming.ParameterCase
188+
value: 'lower_case'
189+
- key: readability-identifier-naming.PrivateMemberCase
190+
value: 'lower_case'
191+
- key: readability-identifier-naming.PrivateMemberSuffix
192+
value: '_'
193+
- key: readability-identifier-naming.PrivateMethodCase
194+
value: 'lower_case'
195+
- key: readability-identifier-naming.PrivateMethodSuffix
196+
value: '_'
197+
- key: readability-identifier-naming.ClassMemberCase
198+
value: 'lower_case'
199+
- key: readability-identifier-naming.ClassMemberCase
200+
value: 'lower_case'
201+
- key: readability-identifier-naming.ProtectedMemberCase
202+
value: 'lower_case'
203+
- key: readability-identifier-naming.ProtectedMemberSuffix
204+
value: '_'
205+
- key: readability-identifier-naming.FunctionCase
206+
value: 'lower_case'
207+
- key: readability-identifier-naming.ClassMethodCase
208+
value: 'lower_case'
209+
- key: readability-identifier-naming.ProtectedMethodCase
210+
value: 'lower_case'
211+
- key: readability-identifier-naming.ProtectedMethodSuffix
212+
value: '_'
213+
- key: readability-identifier-naming.VirtualMethodCase
214+
value: 'lower_case'
215+
- key: readability-identifier-naming.VirtualMethodSuffix
216+
value: ''
217+
- key: readability-qualified-auto.AddConstToQualified
218+
value: 0
219+
- key: readability-identifier-length.MinimumVariableNameLength
220+
value: 0
221+
- key: readability-identifier-length.MinimumParameterNameLength
222+
value: 0
223+
- key: readability-identifier-length.MinimumLoopCounterNameLength
224+
value: 0

.github/workflows/ci.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,11 @@ jobs:
375375
mkdir -p .temp
376376
pio run --list-targets -e esp32-idf-tidy
377377
378+
- name: Install clang-tidy
379+
run: |
380+
. venv/bin/activate
381+
pip install clang-tidy -c requirements_dev.txt
382+
378383
- name: Run clang-tidy
379384
run: |
380385
. venv/bin/activate

.yamllint

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ yaml-files:
77

88
ignore: |
99
.clang-format
10+
.clang-tidy
1011
.esphome/
1112
tests/.esphome/
1213

0 commit comments

Comments
 (0)