xref: /llvm-project/libcxx/.clang-tidy (revision 4075ddad7183e6f0b66e2c8cc7a03b461a8038e6)
1Checks: >
2  bugprone-copy-constructor-init,
3  bugprone-dangling-handle,
4  bugprone-infinite-loop,
5  bugprone-stringview-nullptr,
6  bugprone-use-after-move,
7
8  libcpp-*,
9
10  llvm-include-order,
11  llvm-namespace-comment,
12
13  misc-definitions-in-headers,
14  misc-misplaced-const,
15  misc-non-copyable-objects,
16  misc-uniqueptr-reset-release,
17
18  modernize-loop-convert,
19  modernize-redundant-void-arg,
20  modernize-use-nullptr,
21  modernize-use-override,
22  modernize-use-equals-delete,
23
24  readability-duplicate-include,
25  readability-identifier-naming,
26  readability-function-cognitive-complexity,
27  readability-function-size,
28  readability-misplaced-array-index,
29  readability-redundant-control-flow,
30  readability-redundant-function-ptr-dereference,
31  readability-redundant-preprocessor,
32  readability-simplify-boolean-expr,
33  readability-simplify-subscript-expr,
34  readability-uniqueptr-delete-release,
35
36CheckOptions:
37  - key:   readability-function-cognitive-complexity.Threshold
38    value: 143 # TODO: bring that number down
39  - key:   readability-function-size.LineThreshold
40    value: 194 # TODO: bring that number down
41  - key:   readability-identifier-naming.GetConfigPerFile
42    value: false
43  - key:   readability-identifier-naming.ParameterCase
44    value: lower_case
45  - key:   readability-identifier-naming.ParameterPrefix
46    value: __
47  - key:   readability-identifier-naming.PrivateMemberCase
48    value: lower_case
49  - key:   readability-identifier-naming.PrivateMemberPrefix
50    value: __
51  - key:   readability-identifier-naming.PrivateMemberSuffix
52    value: _
53  - key:   readability-identifier-naming.LocalVariableCase
54    value: lower_case
55  - key:   readability-identifier-naming.LocalVariablePrefix
56    value: __
57  - key:   readability-identifier-naming.TemplateParameterCase
58    value: CamelCase
59  - key:   readability-identifier-naming.TemplateParameterPrefix
60    value: _
61  - key:   readability-identifier-naming.TemplateParameterIgnoredRegexp
62    value: (.*\:auto|expr-type) # This is https://llvm.org/PR56464
63  - key:   readability-identifier-naming.ValueTemplateParameterCase
64    value: CamelCase
65  - key:   readability-identifier-naming.ValueTemplateParameterPrefix
66    value: _
67  - key:   readability-identifier-naming.ValueTemplateParameterIgnoredRegexp
68    value: (__[a-z_]|_[A-Z]).* # TODO: Converge on a single style for value template parameters
69
70# TODO: investigate these checks
71# bugprone-branch-clone,
72# bugprone-macro-parentheses,
73# cppcoreguidelines-prefer-member-initializer,
74# misc-unused-parameters,
75# modernize-use-bool-literals,
76# modernize-use-default-member-init,
77# modernize-use-equals-default,
78# portability-restrict-system-includes,
79# readability-function-cognitive-complexity,
80# readability-implicit-bool-conversion,
81# readability-isolate-declaration,
82# readability-redundant-access-specifiers,
83# readability-redundant-declaration,
84# readability-redundant-member-init,
85#
86