1--- 2# Note on checks are disabled on purpose 3# 4# - abseil-cleanup-ctad 5# Requires C++17 and higher. 6# 7# - abseil-no-namespace 8# https://bugs.llvm.org/show_bug.cgi?id=47947 9# 10# - bugprone-exception-escape 11# https://github.com/llvm/llvm-project/issues/54668 (seems to be fixed in LLVM17) 12# 13# - bugprone-reserved-identifier 14# Some macros need to be defined for portability purpose; e.g. _BSD_SOURCE. 15# 16# - modernize-redundant-void-arg 17# Some source should be strictly C99 and func(void) should be used. 18# 19# - google-readability-casting 20# https://github.com/llvm/llvm-project/issues/57959 21# 22# Note on checks which will be enabled in future. These are good to have but 23# it's not activated yet due to the existing issues with the checks. 24# Once those issues are clear, these checks can be enabled later. 25# 26# - bugprone-assignment-in-if-condition 27# - bugprone-branch-clone 28# - bugprone-easily-swappable-parameters 29# - bugprone-implicit-widening-of-multiplication-result 30# - bugprone-infinite-loop 31# - bugprone-narrowing-conversions 32# - bugprone-not-null-terminated-result 33# - bugprone-signed-char-misuse 34# - bugprone-sizeof-expression 35# - bugprone-switch-missing-default-case 36# - bugprone-too-small-loop-variable 37# - bugprone-unchecked-optional-access 38# - clang-diagnostic-deprecated-declarations 39# - clang-diagnostic-unused-function 40# - google-runtime-int 41# - google-runtime-references 42# - modernize-avoid-bind 43# - modernize-deprecated-headers 44# - modernize-loop-convert 45# - modernize-pass-by-value 46# - modernize-raw-string-literal 47# - modernize-return-braced-init-list 48# - modernize-use-auto 49# - modernize-use-default-member-init 50# - modernize-use-emplace 51# - modernize-use-equals-default 52# - modernize-use-equals-delete 53# - modernize-use-using 54# - performance-avoid-endl 55# - performance-no-automatic-move 56# - performance-no-int-to-ptr 57# - performance-noexcept-swap 58# - performance-unnecessary-copy-initialization 59# - performance-unnecessary-value-param 60# - readability-else-after-return 61# - readability-implicit-bool-conversion 62# - readability-redundant-declaration 63# - readability-redundant-string-cstr 64# 65Checks: '-*, 66 abseil-*, 67 -abseil-cleanup-ctad, 68 -abseil-no-namespace, 69 bugprone-*, 70 -bugprone-assignment-in-if-condition, 71 -bugprone-branch-clone, 72 -bugprone-easily-swappable-parameters, 73 -bugprone-empty-catch, 74 -bugprone-exception-escape, 75 -bugprone-implicit-widening-of-multiplication-result, 76 -bugprone-infinite-loop, 77 -bugprone-narrowing-conversions, 78 -bugprone-not-null-terminated-result, 79 -bugprone-reserved-identifier, 80 -bugprone-signed-char-misuse, 81 -bugprone-sizeof-expression, 82 -bugprone-switch-missing-default-case, 83 -bugprone-too-small-loop-variable, 84 -bugprone-unchecked-optional-access, 85 google-*, 86 -google-readability-casting, 87 -google-runtime-int, 88 -google-runtime-references, 89 performance-*, 90 -performance-avoid-endl, 91 -performance-no-automatic-move, 92 -performance-no-int-to-ptr, 93 -performance-noexcept-swap, 94 -performance-unnecessary-copy-initialization, 95 -performance-unnecessary-value-param, 96 clang-diagnostic-deprecated-declarations, 97 clang-diagnostic-deprecated-register, 98 clang-diagnostic-expansion-to-defined, 99 clang-diagnostic-ignored-attributes, 100 clang-diagnostic-non-pod-varargs, 101 clang-diagnostic-shadow-field, 102 clang-diagnostic-shift-sign-overflow, 103 clang-diagnostic-tautological-undefined-compare, 104 clang-diagnostic-thread-safety*, 105 clang-diagnostic-undefined-bool-conversion, 106 clang-diagnostic-unreachable-code, 107 clang-diagnostic-unreachable-code-loop-increment, 108 clang-diagnostic-unused-const-variable, 109 clang-diagnostic-unused-lambda-capture, 110 clang-diagnostic-unused-local-typedef, 111 clang-diagnostic-unused-private-field, 112 clang-diagnostic-user-defined-warnings, 113 misc-definitions-in-headers, 114 misc-static-assert, 115 misc-unconventional-assign-operator, 116 misc-uniqueptr-reset-release, 117 misc-unused-alias-decls, 118 misc-unused-using-decls, 119 modernize-make-shared, 120 modernize-make-unique, 121 modernize-replace-auto-ptr, 122 modernize-replace-random-shuffle, 123 modernize-shrink-to-fit, 124 modernize-unary-static-assert, 125 modernize-use-bool-literals, 126 modernize-use-noexcept, 127 modernize-use-nullptr, 128 modernize-use-override, 129 modernize-use-transparent-functors, 130 readability-braces-around-statements, 131 readability-const-return-type, 132 readability-container-size-empty, 133 readability-delete-null-pointer, 134 readability-deleted-default, 135 readability-duplicate-include, 136 readability-function-size, 137 readability-inconsistent-declaration-parameter-name, 138 readability-misleading-indentation, 139 readability-misplaced-array-index, 140 readability-redundant-access-specifiers, 141 readability-redundant-control-flow, 142 readability-redundant-function-ptr-dereference, 143 readability-redundant-smartptr-get, 144 -readability-redundant-string-cstr, 145 readability-redundant-string-init, 146 readability-simplify-boolean-expr, 147 readability-static-definition-in-anonymous-namespace, 148 readability-string-compare, 149 readability-uniqueptr-delete-release' 150WarningsAsErrors: '*' 151CheckOptions: 152 - key: readability-function-size.StatementThreshold 153 value: '450' 154 - key: modernize-make-unique.MakeSmartPtrFunction 155 value: 'absl::make_unique' 156 - key: modernize-make-unique.MakeSmartPtrFunctionHeader 157 value: 'absl/memory/memory.h' 158 - key: readability-braces-around-statements.ShortStatementLines 159 value: 1 160 - key: readability-simplify-boolean-expr.SimplifyDeMorgan 161 value: false 162