-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path.clang-tidy
68 lines (64 loc) · 3.28 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
# The following checks are not used:
#
# -abseil-* : we are not using abseil
# -bugprone-easily-swappable-parameters : accepting the risk
# -cerl-* : questionable value
# -clang-analyzer-cplusplus.NewDeleteLeaks : due to https://github.com/google/googletest/issues/3553
# -cppcoreguidelines-* : too opinionated
# -google-build-using-namespace : too opinionated
# -google-readability-avoid-underscore-in-googletest-name : impractical, little value
# -google-readability-todo : accepting the risk
# -google-runtime-references : too opinionated
# -misc-no-recursion : not much value
# -misc-non-private-member-variables-in-classes : too restrictive
# -misc-unused-parameters : too restrictive
# -modernize-avoid-c-arrays : too restrictive when writing low level functions and well-defined structures/protocols
# -modernize-use-trailing-return-type : too opinionated, little value
# -readability-function-cognitive-complexity : too noisy on unit tests; clang-13 adds IgnoreMacros which should help
# -readability-identifier-length: impractical
# -readability-magic-numbers : too restrictive when writing low level functions and well-defined structures/protocols
Checks: >
-*,
bugprone-*,
-bugprone-easily-swappable-parameters,
clang-analyzer-*,
-clang-analyzer-cplusplus.NewDeleteLeaks,
cppcoreguidelines-slicing,
google-*,
-google-build-using-namespace,
-google-readability-avoid-underscore-in-googletest-name,
-google-readability-todo,
-google-runtime-references,
misc-*,
-misc-no-recursion,
-misc-non-private-member-variables-in-classes,
-misc-unused-parameters,
modernize-*,
-modernize-avoid-c-arrays,
-modernize-use-trailing-return-type,
performance-*,
readability-*,
-readability-function-cognitive-complexity,
-readability-identifier-length,
-readability-magic-numbers
WarningsAsErrors: >
*
CheckOptions:
- { key: readability-identifier-naming.NamespaceCase, value: lower_case }
- { key: readability-identifier-naming.ClassCase, value: CamelCase }
- { key: readability-identifier-naming.StructCase, value: CamelCase }
- { key: readability-identifier-naming.TemplateParameterCase, value: CamelCase }
- { key: readability-identifier-naming.FunctionCase, value: CamelCase }
- { key: readability-identifier-naming.VariableCase, value: camelBack }
- { key: readability-identifier-naming.ClassMemberCase, value: camelBack }
- { key: readability-identifier-naming.ClassMemberSuffix, value: _ }
- { key: readability-identifier-naming.PrivateMemberSuffix, value: _ }
- { key: readability-identifier-naming.ProtectedMemberSuffix, value: _ }
- { key: readability-identifier-naming.PublicMemberSuffix, value: _ }
- { key: readability-identifier-naming.EnumConstantCase, value: UPPER_CASE }
- { key: readability-identifier-naming.ConstexprVariableCase, value: UPPER_CASE }
- { key: readability-identifier-naming.GlobalConstantCase, value: UPPER_CASE }
- { key: readability-identifier-naming.MemberConstantCase, value: UPPER_CASE }
- { key: readability-identifier-naming.StaticConstantCase, value: UPPER_CASE }
- { key: readability-function-cognitive-complexity.Threshold, value: 50 }
HeaderFilterRegex: "(uid2/[^/]*\\.h$|lib/[^/]*\\.h$)"