-
-
Notifications
You must be signed in to change notification settings - Fork 477
Expand file tree
/
Copy path.clang-tidy
More file actions
131 lines (131 loc) · 5.21 KB
/
.clang-tidy
File metadata and controls
131 lines (131 loc) · 5.21 KB
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
---
Checks: '*,-abseil-*,-altera-*,-android-cloexec-*,-boost-use-ranges,-bugprone-chained-comparison,-bugprone-easily-swappable-parameters,-cert-err58-cpp,-cppcoreguidelines-avoid-do-while,-cppcoreguidelines-avoid-magic-numbers,-cppcoreguidelines-avoid-non-const-global-variables,-cppcoreguidelines-owning-memory,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-cppcoreguidelines-pro-type-cstyle-cast,-cppcoreguidelines-pro-type-reinterpret-cast,-cppcoreguidelines-pro-type-static-cast-downcast,-cppcoreguidelines-pro-type-vararg,-fuchsia-*,-google-readability-casting,-google-readability-todo,-hicpp-named-parameter,-hicpp-no-array-decay,-hicpp-vararg,-llvm-include-order,-llvm-header-guard,-llvmlibc-*,-misc-include-cleaner,-misc-no-recursion,-modernize-use-nodiscard,-modernize-use-trailing-return-type,-readability-identifier-length,-readability-implicit-bool-conversion,-readability-math-missing-parentheses,-readability-named-parameter,-readability-magic-numbers'
#
# cppcoreguidelines-pro-type-cstyle-cast
# google-build-using-namespace
# google-readability-casting
# llvm-header-guard
# llvm-include-order
# hicpp-named-parameter
# readability-math-missing-parentheses
# readability-named-parameter
# Differ from our style guidelines
#
# abseil-*
# Not applicable.
#
# altera-*
# Not applicable.
#
# android-cloexec-*
# O_CLOEXEC isn't available on Windows
#
# boost-use-ranges
# Not applicable, we don't want to rely on more code from boost.
#
# bugprone-chained-comparison
# Triggerd by the Catch library in many places.
#
# bugprone-easily-swappable-parameters
# Can't always be avoided.
#
# cert-err58-cpp
# There are many of these in the test code, most of them from the Catch
# framework. Difficult to avoid.
#
# cppcoreguidelines-avoid-do-while (new in clang-tidy-16)
# Its a good idea to avoid them when there are better alternatives, but
# sometimes they are the cleanest alternative.
#
# cppcoreguidelines-avoid-magic-numbers
# readability-magic-numbers
# We have a lot of these and should probably at least fix some. But remove
# it for the time being because with it we can't see the forest for the
# trees. (TODO)
#
# cppcoreguidelines-avoid-non-const-global-variables
# Not wrong to avoid those, but we have a few that are hard to avoid.
# Also this warning is triggered many times by constructs in the Catch test
# framework.
#
# cppcoreguidelines-owning-memory
# cppcoreguidelines-pro-bounds-array-to-pointer-decay
# cppcoreguidelines-pro-bounds-pointer-arithmetic
# cppcoreguidelines-pro-type-static-cast-downcast
# cppcoreguidelines-pro-type-vararg
# hicpp-no-array-decay
# hicpp-vararg
# When you need them, you need them
#
# fuchsia-*
# Very specific and way too strict
#
# google-readability-todo
# We are not that organized
#
# llvmlibc-*
# Not applicable
#
# misc-include-cleaner (new in clang-tidy-17)
# Many instances of this warning, disabled for now. (TODO)
#
# misc-no-recursion
# Nothing wrong with recursion
#
# modernize-use-nodiscard
# Doesn't really make the code clearer if it is all littered with
# [[nodiscard]]. Looks like this warning is more suited for a library
# than for normal code.
#
# modernize-use-trailing-return-type
# We are not that modern...
#
# readability-identifier-length
# Generally not a bad idea, but there are many cases where short names
# for (local) vars are okay.
#
# readability-implicit-bool-conversion
# Readability is a matter of opinion here
#
#WarningsAsErrors: '*'
HeaderFilterRegex: '\/(src|tests)\/'
CheckOptions:
- key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
value: true
- key: hicpp-special-member-functions.AllowSoleDefaultDtor
value: true
- key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
value: true
- key: cppcoreguidelines-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
value: true
- key: readability-function-cognitive-complexity.Threshold
value: 100
- key: readability-function-cognitive-complexity.IgnoreMacros
value: true
- key: cppcoreguidelines-rvalue-reference-param-not-moved.AllowPartialMove
value: true
- key: bugprone-empty-catch.IgnoreCatchWithKeywords
value: "@todo;@fixme;exception ignored on purpose"
- key: readability-identifier-naming.ClassCase
value: lower_case
- key: readability-identifier-naming.ClassSuffix
value: _t
- key: readability-identifier-naming.PrivateMemberPrefix
value: m_
- key: readability-identifier-naming.StructCase
value: lower_case
- key: readability-identifier-naming.EnumCase
value: lower_case
- key: readability-identifier-naming.FunctionCase
value: lower_case
- key: readability-identifier-naming.FunctionIgnoredRegexp
value: luaX.*
- key: readability-identifier-naming.VariableCase
value: lower_case
- key: readability-identifier-naming.ConstexprVariableCase
value: UPPER_CASE
- key: readability-identifier-naming.GlobalConstantCase
value: UPPER_CASE
- key: readability-identifier-naming.NamespaceCase
value: lower_case
...