-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.clang-tidy
75 lines (68 loc) · 3.12 KB
/
.clang-tidy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
HeaderFilterRegex: "include/msgpack_light/|tests/"
Checks: >
clang-diagnostic-*,
clang-analyzer-*,
-clang-analyzer-optin.performance.Padding,
-cppcoreguidelines-*,
google-*,
-google-runtime-references,
-google-readability-todo,
performance-*,
portability-*,
readability-*,
readability-identifier-naming,
-readability-identifier-length,
-readability-function-cognitive-complexity,
-readability-suspicious-call-argument,
-readability-redundant-member-init,
modernize-*,
-modernize-return-braced-init-list,
-modernize-use-trailing-return-type,
hicpp-*,
-hicpp-signed-bitwise,
-hicpp-no-malloc,
cert-*,
-cert-err58-cpp,
bugprone-*,
-bugprone-easily-swappable-parameters,
-bugprone-unchecked-optional-access,
-bugprone-multi-level-implicit-pointer-conversion,
-bugprone-crtp-constructor-accessibility,
concurrency-*,
boost-*,
openmp-*,
# Ignored checks:
#
# - google-runtime-references is a Google-specific rule, and forces use of raw pointers.
# - clang-analyzer-optin.performance.Padding is hard to be fixed.
# - readability-function-cognitive-complexity is hard to be fixed in tests.
# - cppcoreguidelines assumes use of an external library only for its rules and generates too many false positives.
# - bugprone-easily-swappable-parameters, readability-suspicious-call-argument is difficult to fix.
# - cert-err58-cpp produces warnings in all tests due to Catch2 library.
# - readability-identifier-length prevent traditional codes.
# - bugprone-unchecked-optional-access has a bug as in https://github.com/clangd/clangd/issues/1700.
# - modernize-use-trailing-return-type make some tools not working.
# - hicpp-no-malloc generates many false positives in implementation of containers in this library.
# - readability-redundant-member-init prevents specifying use of default initializer.
# - bugprone-multi-level-implicit-pointer-conversion prevents implementation of allocators.
# - bugprone-crtp-constructor-accessibility causes compile errors.
CheckOptions:
# Naming Conventions
# for these parameters of the naming convention,
# see https://clang.llvm.org/extra/clang-tidy/checks/readability-identifier-naming.html
readability-identifier-naming.NamespaceCase: lower_case
readability-identifier-naming.ClassCase: lower_case
readability-identifier-naming.StructCase: lower_case
readability-identifier-naming.EnumCase: lower_case
readability-identifier-naming.FunctionCase: lower_case
readability-identifier-naming.VariableCase: lower_case
readability-identifier-naming.ConstantCase: lower_case
readability-identifier-naming.ParameterCase: lower_case
readability-identifier-naming.EnumConstantCase: lower_case
readability-identifier-naming.MemberCase: lower_case
readability-identifier-naming.PrivateMemberSuffix: _
readability-identifier-naming.ProtectedMemberSuffix: _
readability-identifier-naming.TypeTemplateParameterCase: CamelCase
readability-identifier-naming.ValueTemplateParameterCase: CamelCase
# Workaround of https://github.com/llvm/llvm-project/issues/46097.
readability-identifier-naming.TypeTemplateParameterIgnoredRegexp: expr-type