2 # Classification of the excludes:
4 # * unclear, need to figure out if we want that:
5 # * cert-err58-cpp ("construction of 'foo' with static storage duration may throw an exception that cannot be caught")
6 # * cppcoreguidelines-pro-bounds-array-to-pointer-decay ("do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead")
7 # * cppcoreguidelines-pro-bounds-constant-array-index ("do not use array subscript when the index is not an integer constant expression; use gsl::at() instead")
8 # * cppcoreguidelines-pro-bounds-pointer-arithmetic ("do not use pointer arithmetic")
9 # * google-runtime-int ("consider replacing 'unsigned long' with 'uint64'")
10 # * hicpp-no-array-decay ("do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead")
12 # * undesirable checks:
13 # * cppcoreguidelines-pro-type-static-cast-downcast ("do not use static_cast to downcast from a base to a derived class; use dynamic_cast instead")
14 # * fuchsia-default-arguments ("calling a function that uses a default argument is disallowed")
15 # * fuchsia-overloaded-operator ("cannot overload 'operatorFOO'")
16 # * fuchsia-statically-constructed-objects ("static objects are disallowed; if possible, use a constexpr constructor instead")
17 # * google-runtime-references ("non-const reference parameter 'foo', make it const or use a pointer")
18 # * hicpp-no-assembler ("do not use inline assembler in safety-critical code") triggered by ntohs/htons
19 # * llvm-include-order ("#includes are not sorted properly")
21 # * desirable checks, but hard to fix currently:
22 # * android-cloexec-fopen ("use 'fopen' mode 'e' to set O_CLOEXEC") Ancient CentOS 5 doesn't have O_CLOEXEC
23 # * android-cloexec-open ("'open' should use O_CLOEXEC where possible") Ancient CentOS 5 doesn't have O_CLOEXEC
24 # * cert-env33-c ("calling 'system' uses a command processor")
25 # * cert-err34-c ("'atoi' used to convert a string to an integer value, but function will not report conversion errors; consider using 'strtol' instead")
26 # * cppcoreguidelines-owning-memory ("deleting a pointer through a type that is not marked 'gsl::owner<>'; consider using a smart pointer instead") We won't fix this for 1.5.0
27 # * cppcoreguidelines-pro-type-member-init ("uninitialized record type: 'foo'")
28 # * cppcoreguidelines-pro-type-reinterpret-cast ("do not use reinterpret_cast")
29 # * cppcoreguidelines-pro-type-vararg ("do not call c-style vararg functions")
30 # * hicpp-member-init: alias for cppcoreguidelines-pro-type-member-init
31 # * hicpp-signed-bitwise ("use of a signed integer operand with a binary bitwise operator")
32 # * hicpp-vararg ("do not call c-style vararg functions")
33 # * llvm-header-guard ("header guard does not follow preferred style") tricky to get right with the current bear/clang-tidy/symlink situation
35 # * desirable checks, but some places need to be suppressed:
36 # * cppcoreguidelines-pro-type-const-cast ("do not use const_cast")
37 # * cppcoreguidelines-pro-type-union-access ("do not access members of unions; use (boost::)variant instead")
38 # * modernize-use-bool-literals ("converting integer literal to bool, use bool literal instead") Incorrectly triggered by e.g. FD_ZERO
40 # * temporarily disabled:
41 # * clang-analyzer-optin.performance.Padding
42 # * cppcoreguidelines-special-member-functions
43 # * hicpp-special-member-functions
44 # * modernize-use-default-member-init
46 # * bug in toolchain/clang-tidy:
47 # * clang-analyzer-cplusplus.NewDeleteLeaks ("Potential leak of memory pointed to by field '_M_head_impl'") See https://bugs.llvm.org/show_bug.cgi?id=38176 ("clang-analyzer-cplusplus.NewDeleteLeaks false positive in C++17 mode only")
49 Checks: '*,-android-cloexec-fopen,-android-cloexec-open,-cert-env33-c,-cert-err34-c,-cert-err58-cpp,-clang-analyzer-alpha*,-cppcoreguidelines-owning-memory,-cppcoreguidelines-pro-bounds-array-to-pointer-decay,-cppcoreguidelines-pro-bounds-constant-array-index,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-cppcoreguidelines-pro-type-const-cast,-cppcoreguidelines-pro-type-member-init,-cppcoreguidelines-pro-type-reinterpret-cast,-cppcoreguidelines-pro-type-static-cast-downcast,-cppcoreguidelines-pro-type-union-access,-cppcoreguidelines-pro-type-vararg,-fuchsia-default-arguments,-fuchsia-overloaded-operator,-fuchsia-statically-constructed-objects,-google-runtime-int,-google-runtime-references,-hicpp-member-init,-hicpp-no-array-decay,-hicpp-no-assembler,-hicpp-signed-bitwise,-hicpp-vararg,-llvm-header-guard,-llvm-include-order,-modernize-use-bool-literals,-clang-analyzer-optin.performance.Padding,-cppcoreguidelines-special-member-functions,-hicpp-special-member-functions,-modernize-use-default-member-init,-clang-analyzer-cplusplus.NewDeleteLeaks'
51 - key: google-readability-namespace-comments.SpacesBeforeComments