-
Notifications
You must be signed in to change notification settings - Fork 0
/
.clang-tidy
128 lines (88 loc) · 4.47 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
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
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# <http://www.apache.org/licenses/LICENSE-2.0>
#
# Unless required by applicable law or agreed to in writing
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License
#
# Modified from the Apache Arrow project for the Terrier project
#
---
Checks: '
bugprone-*,
clang-analyzer-*,
google-*,
modernize-*,
performance-*,
portability-*,
readability-*,
-bugprone-branch-clone,
-bugprone-easily-swappable-parameters,
-bugprone-implicit-widening-of-multiplication-result,
-bugprone-narrowing-conversions,
-bugprone-reserved-identifier,
-bugprone-signed-char-misuse,
-bugprone-suspicious-include,
-bugprone-too-small-loop-variable,
-bugprone-unhandled-self-assignment,
-clang-analyzer-cplusplus.NewDelete,
-clang-analyzer-cplusplus.NewDeleteLeaks,
-clang-diagnostic-implicit-int-float-conversion,
-modernize-avoid-c-arrays,
-modernize-use-nodiscard,
-modernize-use-auto,
-modernize-use-trailing-return-type,
-modernize-use-default-member-init,
-modernize-return-braced-init-list,
-readability-convert-member-functions-to-static,
-readability-identifier-length,
-readability-function-cognitive-complexity,
-readability-magic-numbers,
-readability-make-member-function-const,
-readability-qualified-auto,
-readability-redundant-access-specifiers,
'
CheckOptions:
- { key: readability-identifier-naming.ClassCase, value: CamelCase }
- { key: readability-identifier-naming.EnumCase, value: CamelCase }
- { key: readability-identifier-naming.FunctionCase, value: CamelCase }
- { key: readability-identifier-naming.GlobalConstantCase, value: UPPER_CASE }
- { key: readability-identifier-naming.MemberCase, value: lower_case }
- { key: readability-identifier-naming.MemberSuffix, value: _ }
- { key: readability-identifier-naming.NamespaceCase, value: lower_case }
- { key: readability-identifier-naming.StructCase, value: CamelCase }
- { key: readability-identifier-naming.UnionCase, value: CamelCase }
- { key: readability-identifier-naming.VariableCase, value: lower_case }
WarningsAsErrors: '*'
HeaderFilterRegex: '/(src|test)/include'
AnalyzeTemporaryDtors: true
#### Disabled checks and why #####
#
# -bugprone-too-small-loop-variable
# Complains about uint8_t or uint16_t when the limit on the loop is a container's .size() (size_t)
# We usually do this when we know the maximum size of the container though, so propose leaving disabled
# -clang-analyzer-cplusplus.NewDelete
# Seems to generate false positives. Suggest relying on ASAN and valgrind for memory stuff
# -clang-analyzer-cplusplus.NewDeleteLeaks
# Seems to generate false positives. Suggest relying on ASAN and valgrind for memory stuff
# -modernize-use-nodiscard
# New C++17 feature, slightly polarizing. Would clutter codebase
# -modernize-avoid-c-arrays
# We use C-style arrays in page.h, type.h and logger.h. They're a little more ergonomic than std::array. Thoughts?
# -readability-magic-numbers
# Let's not deal with people doing ridiculous things to hack around this. If it bites them, it bites them
# -bugprone-branch-clone, -bugprone-signed-char-misuse, -bugprone-unhandled-self-assignment
# -clang-diagnostic-implicit-int-float-conversion, -modernize-use-auto, -modernize-use-trailing-return-type
# -readability-convert-member-functions-to-static, -readability-make-member-function-const, -readability-qualified-auto
# -readability-redundant-access-specifiers
# Not available on clang-8. Disable for forward compatibility with students running modern clang versions