xref: /openbmc/docs/style/cpp/.clang-tidy (revision 04408ef53c053577f746d3515fe9ccc996b995ba)
1Checks: '-*,
2    bugprone-unchecked-optional-access,
3    modernize-use-nullptr,
4    readability-function-size,
5    readability-function-cognitive-complexity
6    '
7
8CheckOptions:
9-   key: readability-function-size.LineThreshold
10    value: 60 # [1]
11-   key: readability-function-size.ParameterThreshold
12    value: 6  # [2]
13-   key: readability-function-cognitive-complexity.Threshold
14    value: 25 # [3]
15
16HeaderFilterRegex: '(?!^subprojects).*'
17
18WarningsAsErrors: '*'
19
20# [1] https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#f3-keep-functions-short-and-simple
21# [2] https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#f2-a-function-should-perform-a-single-logical-operation
22# [3] https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#f3-keep-functions-short-and-simple
23# However cognitive complexity != cyclomatic complexity. Therefore using the clang-tidy default value,
24# as cyclomatic complexity seems to not be implemented in clang-tidy.
25
26# [1],[2],[3] do not have to be enforced or applied project-wide yet.
27