-
Notifications
You must be signed in to change notification settings - Fork 11
/
.clang-tidy
91 lines (84 loc) · 3.71 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
Checks: '-*,
bugprone-*,
cert-*,
cppcoreguidelines-*,
-cppcoreguidelines-pro-bounds-constant-array-index,
-cppcoreguidelines-pro-type-vararg,
-cppcoreguidelines-non-private-member-variables-in-classes,
-cppcoreguidelines-avoid-do-while,
llvm-*,
-llvm-header-guard,
-llvm-include-order,
-llvm-namespace-comment,
clang-analyzer-*,
modernize-*,
-modernize-use-trailing-return-type,
-modernize-use-default-member-init,
-modernize-use-nodiscard,
-modernize-avoid-c-arrays,
-modernize-use-using,
performance-*,
-performance-noexcept-move-constructor,
-performance-enum-size,
portability-*,
readability-*,
-readability-redundant-member-init,
-readability-uppercase-literal-suffix,
-readability-else-after-return,
-readability-named-parameter,
-readability-redundant-access-specifiers,
-readability-magic-numbers,
-readability-braces-around-statements,
-readability-identifier-length,
hicpp-*,
-hicpp-avoid-c-arrays,
-hicpp-uppercase-literal-suffix,
-hicpp-noexcept-move,
-hicpp-vararg,
-hicpp-member-init,
-hicpp-braces-around-statements,
-hicpp-named-parameter,
misc-*,
-misc-non-private-member-variables-in-classes'
CheckOptions:
- key: AllowPartialMove
value: true
# Disabled Options Explanation:
# CppCoreGuidelines:
# cppcoreguidelines-pro-bounds-constant-array-index: requires use of guideline support library
# cppcoreguidelines-pro-type-vararg: Mostly triggers for functions we didn't write in acceptable
# situations.
# cppcoreguidelines-pro-type-member-init: Even though this rule is useful, it cannot be uphold in
# some cases with generated constructors and would break a lot of code.
# cppcoreguidelines-non-private-member-variables-in-classes: This rule cannot be followed because
# of testing requirements to make some members protected.
# Llvm:
# llvm-header-guard: pragma once allowed
# llvm-include-order: Clang format sorts the includes, should maybe fixed in clang-format file.
# Modernize:
# modernize-use-nodiscard: wants nodiscard for every function.
# modernize-avoid-c-arrays: duplicate rule.
# modernize-use-using: Cannot apply to SDK.
# Performance:
# performance-noexcept-move-constructor: This is cannot be generally applied and is
# potentially dangerous if applied wrongly.
# Performance improvement from this is questionable and less relevant.
# Readability:
# readability-redundant-member-init: Initializing all members of a class even if unnecessary is
# not bad style
# readability-uppercase-literal-suffix
# readability-else-after-return: Rule cannot be followed
# readability-named-parameter: Breaks builds with unused variables
# readability-redundant-access-specifiers: Redundant access specifiers (public, private) can
# actually increase readability by introducing visual barriers
# readability-magic-numbers: cppcoreguidelines has a rule for it, no duplicate needed.
# Hicpp:
# hicpp-uppercase-literal-suffix
# hicpp-noexcept-move: This cannot be generally applied and is potentially dangerous if applied
# wrongly. Performance improvement from this is questionable and less relevant.
# hicpp-vararg: Mostly triggers for functions we didn't write in acceptable situations.
# hicpp-member-init: Even though this rule is useful, it cannot be uphold in some cases with
# generated constructors and would break a lot of code.
# hicpp-avoid-c-arrays: duplicate rule.
# Misc:
# misc-non-private-member-variables-in-classes: Public members should be allowed in structs