-
-
Notifications
You must be signed in to change notification settings - Fork 474
/
.clang-tidy
102 lines (102 loc) · 4.08 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
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
---
Checks: '*,-abseil-*,-altera-*,-android-cloexec-*,-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-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-named-parameter
# Differ from our style guidelines
#
# abseil-*
# Not applicable.
#
# altera-*
# Not applicable.
#
# android-cloexec-*
# O_CLOEXEC isn't available on Windows
#
# 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\/'
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"
...