• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2025 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15FormatStyle:         file
16InheritParentConfig: true
17
18# Please add checks explicitly rather than using wildcards like "modernize-*".
19# These check names are current as of LLVM 20.0.0, as reported by "clang-tidy --list-checks --checks=*"
20# For more information on each check, see https://clang.llvm.org/extra/clang-tidy/checks/list.html.
21Checks:
22  # from android-*
23  - android-cloexec-accept
24  - android-cloexec-accept4
25  - android-cloexec-creat
26  - android-cloexec-dup
27  - android-cloexec-epoll-create
28  - android-cloexec-epoll-create1
29  - android-cloexec-fopen
30  - android-cloexec-inotify-init
31  - android-cloexec-inotify-init1
32  - android-cloexec-memfd-create
33  - android-cloexec-open
34  - android-cloexec-pipe
35  - android-cloexec-pipe2
36  - android-cloexec-socket
37  - android-comparison-in-temp-failure-retry
38
39  # from bugprone-*
40  - bugprone-argument-comment
41  - bugprone-assert-side-effect
42  - bugprone-assignment-in-if-condition
43  - bugprone-bad-signal-to-kill-thread
44  - bugprone-bool-pointer-implicit-conversion
45  - bugprone-branch-clone
46  - bugprone-casting-through-void
47  - bugprone-chained-comparison
48  - bugprone-compare-pointer-to-member-virtual-function
49  - bugprone-copy-constructor-init
50  - bugprone-crtp-constructor-accessibility
51  - bugprone-dangling-handle
52  - bugprone-dynamic-static-initializers
53  - bugprone-easily-swappable-parameters
54  - bugprone-empty-catch
55  - bugprone-exception-escape
56  - bugprone-fold-init-type
57  - bugprone-forward-declaration-namespace
58  - bugprone-forwarding-reference-overload
59  - bugprone-implicit-widening-of-multiplication-result
60  - bugprone-inaccurate-erase
61  - bugprone-inc-dec-in-conditions
62  - bugprone-incorrect-enable-if
63  - bugprone-incorrect-roundings
64  - bugprone-infinite-loop
65  - bugprone-integer-division
66  - bugprone-lambda-function-name
67  - bugprone-macro-parentheses
68  - bugprone-macro-repeated-side-effects
69  - bugprone-misplaced-operator-in-strlen-in-alloc
70  - bugprone-misplaced-pointer-arithmetic-in-alloc
71  - bugprone-misplaced-widening-cast
72  - bugprone-move-forwarding-reference
73  - bugprone-multi-level-implicit-pointer-conversion
74  - bugprone-multiple-new-in-one-expression
75  - bugprone-multiple-statement-macro
76  - bugprone-narrowing-conversions
77  - bugprone-no-escape
78  - bugprone-non-zero-enum-to-bool-conversion
79  - bugprone-not-null-terminated-result
80  - bugprone-optional-value-conversion
81  - bugprone-parent-virtual-call
82  - bugprone-pointer-arithmetic-on-polymorphic-object
83  - bugprone-posix-return
84  - bugprone-redundant-branch-condition
85  - bugprone-reserved-identifier
86  - bugprone-return-const-ref-from-parameter
87  - bugprone-shared-ptr-array-mismatch
88  - bugprone-signal-handler
89  - bugprone-signed-char-misuse
90  - bugprone-sizeof-container
91  - bugprone-sizeof-expression
92  - bugprone-spuriously-wake-up-functions
93  - bugprone-standalone-empty
94  - bugprone-string-constructor
95  - bugprone-string-integer-assignment
96  - bugprone-string-literal-with-embedded-nul
97  - bugprone-stringview-nullptr
98  - bugprone-suspicious-enum-usage
99  - bugprone-suspicious-include
100  - bugprone-suspicious-memory-comparison
101  - bugprone-suspicious-memset-usage
102  - bugprone-suspicious-missing-comma
103  - bugprone-suspicious-realloc-usage
104  - bugprone-suspicious-semicolon
105  - bugprone-suspicious-string-compare
106  - bugprone-suspicious-stringview-data-usage
107  - bugprone-swapped-arguments
108  - bugprone-switch-missing-default-case
109  - bugprone-terminating-continue
110  - bugprone-throw-keyword-missing
111  - bugprone-too-small-loop-variable
112  - bugprone-unchecked-optional-access
113  - bugprone-undefined-memory-manipulation
114  - bugprone-undelegated-constructor
115  - bugprone-unhandled-exception-at-new
116  - bugprone-unhandled-self-assignment
117  - bugprone-unique-ptr-array-mismatch
118  - bugprone-unsafe-functions
119  - bugprone-unused-local-non-trivial-variable
120  - bugprone-unused-raii
121  - bugprone-unused-return-value
122  - bugprone-use-after-move
123  - bugprone-virtual-near-miss
124
125  # from cert-*
126  - cert-con36-c
127  - cert-con54-cpp
128  - cert-ctr56-cpp
129  - cert-dcl03-c
130  - cert-dcl16-c
131  - cert-dcl37-c
132  - cert-dcl50-cpp
133  - cert-dcl51-cpp
134  - cert-dcl54-cpp
135  - cert-dcl58-cpp
136  - cert-dcl59-cpp
137  - cert-env33-c
138  - cert-err09-cpp
139  - cert-err33-c
140  - cert-err34-c
141  - cert-err52-cpp
142  - cert-err58-cpp
143  - cert-err60-cpp
144  - cert-err61-cpp
145  - cert-exp42-c
146  - cert-fio38-c
147  - cert-flp30-c
148  - cert-flp37-c
149  - cert-int09-c
150  - cert-mem57-cpp
151  - cert-msc24-c
152  - cert-msc30-c
153  - cert-msc32-c
154  - cert-msc33-c
155  - cert-msc50-cpp
156  - cert-msc51-cpp
157  - cert-msc54-cpp
158  - cert-oop11-cpp
159  - cert-oop54-cpp
160  - cert-oop57-cpp
161  - cert-oop58-cpp
162  - cert-pos44-c
163  - cert-pos47-c
164  - cert-sig30-c
165  - cert-str34-c
166
167  # from concurrency-*
168  - concurrency-mt-unsafe
169  - concurrency-thread-canceltype-asynchronous
170
171  # from cppcoreguidelines-*
172  - cppcoreguidelines-avoid-c-arrays
173  - cppcoreguidelines-avoid-capturing-lambda-coroutines
174  - cppcoreguidelines-avoid-const-or-ref-data-members
175  - cppcoreguidelines-avoid-do-while
176  - cppcoreguidelines-avoid-goto
177  - cppcoreguidelines-avoid-magic-numbers
178  - cppcoreguidelines-avoid-non-const-global-variables
179  - cppcoreguidelines-avoid-reference-coroutine-parameters
180  - cppcoreguidelines-c-copy-assignment-signature
181  - cppcoreguidelines-explicit-virtual-functions
182  - cppcoreguidelines-init-variables
183  - cppcoreguidelines-interfaces-global-init
184  - cppcoreguidelines-macro-to-enum
185  - cppcoreguidelines-macro-usage
186  - cppcoreguidelines-misleading-capture-default-by-value
187  - cppcoreguidelines-missing-std-forward
188  - cppcoreguidelines-narrowing-conversions
189  - cppcoreguidelines-no-malloc
190  - cppcoreguidelines-no-suspend-with-lock
191  - cppcoreguidelines-noexcept-destructor
192  - cppcoreguidelines-noexcept-move-operations
193  - cppcoreguidelines-noexcept-swap
194  - cppcoreguidelines-non-private-member-variables-in-classes
195  - cppcoreguidelines-owning-memory
196  - cppcoreguidelines-prefer-member-initializer
197  - cppcoreguidelines-pro-bounds-array-to-pointer-decay
198  - cppcoreguidelines-pro-bounds-constant-array-index
199  - cppcoreguidelines-pro-bounds-pointer-arithmetic
200  - cppcoreguidelines-pro-type-const-cast
201  - cppcoreguidelines-pro-type-cstyle-cast
202  - cppcoreguidelines-pro-type-member-init
203  - cppcoreguidelines-pro-type-reinterpret-cast
204  - cppcoreguidelines-pro-type-static-cast-downcast
205  - cppcoreguidelines-pro-type-union-access
206  - cppcoreguidelines-pro-type-vararg
207  - cppcoreguidelines-rvalue-reference-param-not-moved
208  - cppcoreguidelines-slicing
209  - cppcoreguidelines-special-member-functions
210  - cppcoreguidelines-use-default-member-init
211  - cppcoreguidelines-virtual-class-destructor
212
213  # from google-*
214  - google-build-explicit-make-pair
215  - google-build-namespaces
216  - google-build-using-namespace
217  - google-default-arguments
218  - google-explicit-constructor
219  - google-global-names-in-headers
220  - google-objc-avoid-nsobject-new
221  - google-objc-avoid-throwing-exception
222  - google-objc-function-naming
223  - google-objc-global-variable-declaration
224  - google-readability-avoid-underscore-in-googletest-name
225  - google-readability-braces-around-statements
226  - google-readability-casting
227  - google-readability-function-size
228  - google-readability-namespace-comments
229  - google-readability-todo
230  - google-runtime-int
231  - google-runtime-operator
232  - google-upgrade-googletest-case
233
234  # from misc-*
235  - misc-confusable-identifiers
236  - misc-const-correctness
237  - misc-coroutine-hostile-raii
238  - misc-definitions-in-headers
239  - misc-header-include-cycle
240  - misc-include-cleaner
241  - misc-misleading-bidirectional
242  - misc-misleading-identifier
243  - misc-misplaced-const
244  - misc-new-delete-overloads
245  - misc-no-recursion
246  - misc-non-copyable-objects
247  - misc-non-private-member-variables-in-classes
248  - misc-redundant-expression
249  - misc-static-assert
250  - misc-throw-by-value-catch-by-reference
251  - misc-unconventional-assign-operator
252  - misc-uniqueptr-reset-release
253  - misc-unused-alias-decls
254  - misc-unused-parameters
255  - misc-unused-using-decls
256  - misc-use-anonymous-namespace
257  - misc-use-internal-linkage
258
259  # from modernize-*
260  - modernize-avoid-bind
261  - modernize-avoid-c-arrays
262  - modernize-concat-nested-namespaces
263  - modernize-deprecated-headers
264  - modernize-deprecated-ios-base-aliases
265  - modernize-loop-convert
266  - modernize-macro-to-enum
267  - modernize-make-shared
268  - modernize-make-unique
269  - modernize-min-max-use-initializer-list
270  - modernize-pass-by-value
271  - modernize-raw-string-literal
272  - modernize-redundant-void-arg
273  - modernize-replace-auto-ptr
274  - modernize-replace-disallow-copy-and-assign-macro
275  - modernize-replace-random-shuffle
276  - modernize-return-braced-init-list
277  - modernize-shrink-to-fit
278  - modernize-type-traits
279  - modernize-unary-static-assert
280  - modernize-use-auto
281  - modernize-use-bool-literals
282  - modernize-use-constraints
283  - modernize-use-default-member-init
284  - modernize-use-designated-initializers
285  - modernize-use-emplace
286  - modernize-use-equals-default
287  - modernize-use-equals-delete
288  - modernize-use-nodiscard
289  - modernize-use-noexcept
290  - modernize-use-nullptr
291  - modernize-use-override
292  - modernize-use-ranges
293  - modernize-use-starts-ends-with
294  - modernize-use-std-format
295  - modernize-use-std-numbers
296  - modernize-use-std-print
297  - modernize-use-trailing-return-type
298  - modernize-use-transparent-functors
299  - modernize-use-uncaught-exceptions
300  - modernize-use-using
301
302  # from performance-*
303  - performance-avoid-endl
304  - performance-enum-size
305  - performance-faster-string-find
306  - performance-for-range-copy
307  - performance-implicit-conversion-in-loop
308  - performance-inefficient-algorithm
309  - performance-inefficient-string-concatenation
310  - performance-inefficient-vector-operation
311  - performance-move-const-arg
312  - performance-move-constructor-init
313  - performance-no-automatic-move
314  - performance-no-int-to-ptr
315  - performance-noexcept-destructor
316  - performance-noexcept-move-constructor
317  - performance-noexcept-swap
318  - performance-trivially-destructible
319  - performance-type-promotion-in-math-fn
320  - performance-unnecessary-copy-initialization
321  - performance-unnecessary-value-param
322
323  # from portability-*
324  - portability-restrict-system-includes
325  - portability-simd-intrinsics
326  - portability-std-allocator-const
327
328  # from readability-*
329  - readability-avoid-const-params-in-decls
330  - readability-avoid-nested-conditional-operator
331  - readability-avoid-return-with-void-value
332  - readability-avoid-unconditional-preprocessor-if
333  - readability-braces-around-statements
334  - readability-const-return-type
335  - readability-container-contains
336  - readability-container-data-pointer
337  - readability-container-size-empty
338  - readability-convert-member-functions-to-static
339  - readability-delete-null-pointer
340  - readability-duplicate-include
341  - readability-else-after-return
342  - readability-enum-initial-value
343  - readability-function-cognitive-complexity
344  - readability-function-size
345  - readability-identifier-length
346  - readability-identifier-naming
347  - readability-implicit-bool-conversion
348  - readability-inconsistent-declaration-parameter-name
349  - readability-isolate-declaration
350  - readability-magic-numbers
351  - readability-make-member-function-const
352  - readability-math-missing-parentheses
353  - readability-misleading-indentation
354  - readability-misplaced-array-index
355  - readability-named-parameter
356  - readability-non-const-parameter
357  - readability-operators-representation
358  - readability-qualified-auto
359  - readability-redundant-access-specifiers
360  - readability-redundant-casting
361  - readability-redundant-control-flow
362  - readability-redundant-declaration
363  - readability-redundant-function-ptr-dereference
364  - readability-redundant-inline-specifier
365  - readability-redundant-member-init
366  - readability-redundant-preprocessor
367  - readability-redundant-smartptr-get
368  - readability-redundant-string-cstr
369  - readability-redundant-string-init
370  - readability-reference-to-constructed-temporary
371  - readability-simplify-boolean-expr
372  - readability-simplify-subscript-expr
373  - readability-static-accessed-through-instance
374  - readability-static-definition-in-anonymous-namespace
375  - readability-string-compare
376  - readability-suspicious-call-argument
377  - readability-uniqueptr-delete-release
378  - readability-uppercase-literal-suffix
379  - readability-use-anyofallof
380  - readability-use-std-min-max
381