1 # List of rationales for check suppressions (where known).
2 # This have to precede the list because inline comments are not
3 # supported by clang-tidy.
5 # -cppcoreguidelines-non-private-member-variables-in-classes,
6 # -misc-non-private-member-variables-in-classes,
7 # We intend a gradual transition to conform to this guideline, but it
8 # is not practical to implement yet.
10 # -readability-isolate-declaration,
11 # Declarations like "int a, b;" are readable. Some forms are not, and
12 # those might reasonably be suggested against during code review.
14 # -cppcoreguidelines-avoid-c-arrays,
15 # C arrays are still necessary in many places with legacy code
17 # -cppcoreguidelines-avoid-magic-numbers,
18 # -readability-magic-numbers,
19 # We have many legitimate use cases for magic numbers
21 # -cppcoreguidelines-macro-usage,
22 # We do use too many macros, and we should fix many of them, but there
23 # is no reasonable way to suppress the check e.g. in src/config.h and
24 # configuring the build is a major legitimate use of macros.
26 # -cppcoreguidelines-narrowing-conversions,
27 # -bugprone-narrowing-conversions
28 # We have many cases where int is converted to float and we don't care
29 # enough about such potential loss of precision to use explicit casts
30 # in large numbers of places.
32 # -google-readability-avoid-underscore-in-googletest-name
33 # We need to use underscores for readability for our legacy types
34 # and command-line parameter names
37 # We have way too many functions and methods relying on recursion
39 # -cppcoreguidelines-avoid-non-const-global-variables
40 # There are quite a lot of static variables in the test code that
41 # can not be replaced.
43 # -modernize-avoid-bind
44 # Some code needs to use std::bind and can't be modernized quickly.
45 Checks: clang-diagnostic-*,-clang-analyzer-*,-clang-analyzer-security.insecureAPI.strcpy,
46 bugprone-*,misc-*,readability-*,performance-*,mpi-*,
47 -readability-inconsistent-declaration-parameter-name,
48 -readability-function-size,-readability-else-after-return,
49 modernize-use-nullptr,modernize-use-emplace,
50 modernize-make-unique,modernize-make-shared,
52 modernize-use-override,
53 modernize-redundant-void-arg,modernize-use-bool-literals,
54 cppcoreguidelines-*,-cppcoreguidelines-pro-*,-cppcoreguidelines-owning-memory,
55 -cppcoreguidelines-no-malloc,-cppcoreguidelines-special-member-functions,
56 -cppcoreguidelines-avoid-goto,
57 google-*,-google-build-using-namespace,-google-explicit-constructor,
58 -google-readability-function-size,-google-readability-todo,-google-runtime-int,
59 -cppcoreguidelines-non-private-member-variables-in-classes,
60 -misc-non-private-member-variables-in-classes,
61 -readability-isolate-declaration,
62 -cppcoreguidelines-avoid-c-arrays,
63 -cppcoreguidelines-avoid-magic-numbers,
64 -readability-magic-numbers,
65 -cppcoreguidelines-macro-usage,
66 -cppcoreguidelines-narrowing-conversions,
67 -bugprone-narrowing-conversions,
68 -google-readability-avoid-underscore-in-googletest-name,
69 -cppcoreguidelines-init-variables,
71 -cppcoreguidelines-avoid-non-const-global-variables,
75 - key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
77 - key: modernize-make-unique.IncludeStyle
79 - key: modernize-make-shared.IncludeStyle
81 - key: readability-implicit-bool-conversion.AllowIntegerConditions
83 - key: readability-implicit-bool-conversion.AllowPointerConditions
85 - key: bugprone-dangling-handle.HandleClasses
86 value: std::basic_string_view; nonstd::sv_lite::basic_string_view
87 # Permit passing shard pointers by value for sink parameters
88 - key: performance-unnecessary-copy-initialization.AllowedTypes
90 - key: performance-unnecessary-value-param.AllowedTypes