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