aboutsummaryrefslogtreecommitdiff
path: root/.clang-tidy
blob: 57feba420808e3640c0ff1380ab358f39ce04b2c (plain)
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
---
# We use the clang-tidy defaults and the Google styles as a baseline, with a
# few changes specific to VIXL:
#   -clang-analyzer-security.insecureAPI.rand:
#       This warns against the use of mrand48 (etc) and suggests replacing them
#       with arc4random. However, we are using these to drive tests and debug
#       tools, and we need the ability to manually seed the generator. This is
#       not possible with arc4random, and we do not need particularly robust
#       random numbers, so we continue to use mrand48.
#   -google-readability-todo:
#       We don't put names on TODOs.
#   -google-readability-function-size:
#       There are cases where we need (or generate) very long functions,
#       particularly involving macro-generated encoding tables and so on.
#   -google-build-using-namespace:
#       We do this in internal contexts (typically in .cc files), but clang-tidy
#       cannot tell the difference.
#   -google-explicit-constructor:
#       We follow this rule, but have some exceptions that are annotated using
#       cpplint's NOLINT format.
#
# TODO: The following _should_ be enabled, but currently show several failures:
#   google-readability-braces-around-statements
#   google-readability-namespace-comments
#   google-readability-casting
#
# TODO: Also consider enabling other rules, such as bugprone-* and cert-*.
Checks:          '-clang-analyzer-security.insecureAPI.rand,google-*,-google-readability-todo,-google-readability-function-size,-google-build-using-namespace,-google-explicit-constructor,-google-readability-braces-around-statements,-google-readability-namespace-comments,-google-readability-casting'
HeaderFilterRegex: '\.h$'
AnalyzeTemporaryDtors: false
CheckOptions:
...