diff options
-rw-r--r-- | .clang-tidy | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 00000000..07cef37f --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,179 @@ +--- +Checks: '-*,bugprone-argument-comment,bugprone-assert-side-effect,bugprone-bool-pointer-implicit-conversion,bugprone-copy-constructor-init,bugprone-dangling-handle,bugprone-fold-init-type,bugprone-forward-declaration-namespace,bugprone-forwarding-reference-overload,bugprone-inaccurate-erase,bugprone-integer-division,bugprone-lambda-function-name,bugprone-macro-*,bugprone-move-forwarding-reference,bugprone-multiple-statement-macro,bugprone-parent-virtual-call,bugprone-redundant-branch-condition,bugprone-reserved-identifier,bugprone-signed-char-misuse,bugprone-sizeof-*,bugprone-string-*,bugprone-stringview-nullptr,bugprone-suspicious-*,bugprone-swapped-arguments,bugprone-terminating-continue,bugprone-too-small-loop-variable,bugprone-undefined-memory-manipulation,bugprone-undelegated-constructor,bugprone-unhandled-self-assignment,bugprone-unused-*,bugprone-use-after-move,bugprone-virtual-near-miss,cert-dcl50-cpp,cert-dcl58-cpp,cert-dcl59-cpp,cert-env33-c,cert-err33-c,cert-err34-c,cert-err60-cpp,cert-fio38-c,cert-flp30-c,cert-mem57-cpp,cert-msc30-c,cert-msc32-c,cert-msc50-cpp,cert-msc51-cpp,cert-oop57-cpp,cert-oop58-cpp,clang-analyzer-core.CallAndMessage,clang-analyzer-core.DivideZero,clang-analyzer-core.NullDereference,clang-analyzer-core.StackAddrEscapeBase,clang-analyzer-core.StackAddressEscape,clang-analyzer-core.UndefinedBinaryOperatorResult,clang-analyzer-core.uninitialized.*,clang-analyzer-cplusplus.*,clang-analyzer-deadcode.DeadStores,clang-analyzer-optin.cplusplus.*,cppcoreguidelines-c-copy-assignment-signature,cppcoreguidelines-init-variables,cppcoreguidelines-interfaces-global-init,cppcoreguidelines-macro-usage,cppcoreguidelines-narrowing-conversions,cppcoreguidelines-no-malloc,cppcoreguidelines-prefer-member-initializer,cppcoreguidelines-pro-bounds-array-to-pointer-decay,cppcoreguidelines-pro-bounds-pointer-arithmetic,cppcoreguidelines-pro-type-cstyle-cast,cppcoreguidelines-pro-type-member-init,cppcoreguidelines-slicing,cppcoreguidelines-special-member-functions,cppcoreguidelines-virtual-class-destructor,google-explicit-constructor,google-readability-namespace-comments,google-runtime-int,misc-*,modernize-avoid-*,modernize-concat-nested-namespaces,modernize-deprecated-*,modernize-loop-convert,modernize-make-*,modernize-pass-by-value,modernize-raw-string-literal,modernize-redundant-void-arg,modernize-replace-random-shuffle,modernize-return-braced-init-list,modernize-shrink-to-fit,modernize-unary-static-assert,modernize-use-auto,modernize-use-bool-literals,modernize-use-default-member-init,modernize-use-emplace,modernize-use-equals-*,modernize-use-noexcept,modernize-use-nullptr,modernize-use-override,modernize-use-transparent-functors,modernize-use-uncaught-exceptions,modernize-use-using,performance-*,readability-avoid-const-params-in-decls,readability-container-*,readability-convert-member-functions-to-static,readability-delete-null-pointer,readability-duplicate-include,readability-else-after-return,readability-function-*,readability-implicit-bool-conversion,readability-inconsistent-declaration-parameter-name,readability-make-member-function-const,readability-misleading-indentation,readability-misplaced-array-index,readability-non-const-parameter,readability-qualified-auto,readability-redundant-control-flow,readability-redundant-declaration,readability-redundant-function-ptr-dereference,readability-redundant-member-init,readability-redundant-preprocessor,readability-redundant-smartptr-get,readability-redundant-string-*,readability-simplify-*,readability-static-*,readability-string-compare,readability-suspicious-call-argument,readability-uniqueptr-delete-release,readability-uppercase-literal-suffix,readability-use-anyofallof' +WarningsAsErrors: '' +HeaderFilterRegex: '' +AnalyzeTemporaryDtors: false +FormatStyle: file +CheckOptions: + - key: bugprone-argument-comment.IgnoreSingleArgument + value: '1' + - key: bugprone-argument-comment.StrictMode + value: '1' + - key: bugprone-assert-side-effect.AssertMacros + value: assert,NSAssert,NSCAssert,Q_ASSERT,Q_ASSERT_X + - key: bugprone-assert-side-effect.CheckFunctionCalls + value: 'true' +# - key: bugprone-dangling-handle.HandleClasses +# value: 'std::basic_string_view;std::experimental::basic_string_view' +# - key: bugprone-signed-char-misuse.CharTypdefsToIgnore +# value: '' +# - key: bugprone-signed-char-misuse.DiagnoseSignedUnsignedCharComparisons +# value: 'true' + - key: bugprone-sizeof-expression.WarnOnSizeOfIntegerExpression + value: 'true' + - key: bugprone-string-constructor.LargeLengthThreshold + value: '8388608' + - key: bugprone-string-constructor.StringNames + value: '::std::basic_string;::std::basic_string_view' + - key: bugprone-string-constructor.WarnOnLargeLength + value: 'true' +# - key: bugprone-suspicious-enum-usage.StrictMode +# value: 'false' +# - key: bugprone-suspicious-include.HeaderFileExtensions +# value: ';h;hh;hpp;hxx' +# - key: bugprone-suspicious-include.ImplementationFileExtensions +# value: 'c;cc;cpp;cxx' +# - key: bugprone-suspicious-missing-comma.SizeThreshold +# value: '5' +# - key: bugprone-suspicious-string-compare.WarnOnLogicalNotComparison +# value: 'false' +# - key: bugprone-suspicious-string-compare.StringCompareLikeFunctions +# value: '' +# - key: bugprone-too-small-loop-variable.MagnitudeBitsUpperLimit +# value: '16' +# - key: bugprone-unhandled-self-assignment.WarnOnlyIfThisHasSuspiciousField +# value: 'true' +# - key: cert-dcl59-cpp.HeaderFileExtensions +# value: ';h;hh;hpp;hxx' +# - key: cert-msc32-c.DisallowedSeedTypes +# value: 'time_t,std::time_t' +# - key: cert-msc51-cpp.DisallowedSeedTypes +# value: 'time_t,std::time_t' + - key: cppcoreguidelines-macro-usage.AllowedRegexp + value: '' + - key: cppcoreguidelines-macro-usage.CheckCapsOnly + value: 'false' + - key: cppcoreguidelines-narrowing-conversions.IgnoreConversionFromTypes + value: 'size_t;ptrdiff_t;size_type;difference_type' +# - key: cppcoreguidelines-narrowing-conversions.PedanticMode +# value: 'false' +# - key: cppcoreguidelines-narrowing-conversions.WarnOnEquivalentBitWidth +# value: 'true' +# - key: cppcoreguidelines-narrowing-conversions.WarnOnIntegerToFloatingPointNarrowingConversion +# value: 'true' + - key: cppcoreguidelines-narrowing-conversions.WarnWithinTemplateInstantiation + value: 'true' +# - key: cppcoreguidelines-pro-type-member-init.UseAssignment +# value: 'false' +# - key: cppcoreguidelines-special-member-functions.AllowMissingMoveFunctionsWhenCopyIsDeleted +# value: 'false' +# - key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor +# value: 'false' + - key: google-readability-namespace-comments.SpacesBeforeComments + value: '1' + - key: google-readability-namespace-comments.ShortNamespaceLines + value: '25' +# - key: misc-definitions-in-headers.HeaderFileExtensions +# value: ';h;hh;hpp;hxx' + - key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic + value: 'true' +# - key: misc-non-private-member-variables-in-classes.IgnorePublicMemberVariables +# value: 'false' +# - key: modernize-loop-convert.MakeReverseRangeFunction +# value: '' +# - key: modernize-loop-convert.MakeReverseRangeHeader +# value: '' +# - key: modernize-loop-convert.MaxCopySize +# value: '16' +# - key: modernize-loop-convert.NamingStyle +# value: CamelCase +# - key: modernize-loop-convert.UseCxx20ReverseRanges +# value: 'true' +# - key: modernize-make-shared.IgnoreMacros +# value: 'true' +# - key: modernize-make-shared.IgnoreDefaultInitialization +# value: 'true' +# - key: modernize-make-unique.IgnoreMacros +# value: 'true' +# - key: modernize-make-unique.IgnoreDefaultInitialization +# value: 'true' + - key: modernize-use-auto.MinTypeNameLength + value: '0' +# - key: modernize-use-auto.RemoveStars +# value: 'false' +# - key: modernize-use-bool-literals.IgnoreMacros +# value: 'true' +# - key: modernize-use-default-member-init.IgnoreMacros +# value: 'true' + - key: modernize-use-default-member-init.UseAssignment + value: 'true' +# - key: modernize-use-emplace.SmartPointers +# value: '::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr' + - key: modernize-use-emplace.TupleMakeFunctions + value: '::std::make_pair;::std::make_tuple' +# - key: modernize-use-emplace.TupleTypes +# value: '::std::pair;::std::tuple' +# - key: modernize-use-equals-default.IgnoreMacros +# value: 'true' +# - key: modernize-use-equals-delete.IgnoreMacros +# value: 'true' +# - key: modernize-use-noexcept.UseNoexceptFalse +# value: 'true' +# - key: modernize-use-using.IgnoreMacros +# value: 'true' + - key: modernize-raw-string-literal.DelimiterStem + value: '' +# - key: modernize-raw-string-literal.ReplaceShorterLiterals +# value: 'false' +# - key: performance-faster-string-find.StringLikeClasses +# value: '::std::basic_string;::std::basic_string_view' +# - key: performance-for-range-copy.AllowedTypes +# value: '' +# - key: performance-for-range-copy.WarnOnAllAutoCopies +# value: 'false' +# - key: performance-inefficient-string-concatenation.StrictMode +# value: 'false' + - key: performance-inefficient-vector-operation.VectorLikeClasses + value: '::std::vector,QVector,::std::deque' +# - key: performance-unnecessary-copy-initialization.AllowedTypes +# value: '' + - key: readability-else-after-return.WarnOnConditionVariables + value: 'true' +# - key: readability-else-after-return.WarnOnUnfixable +# value: 'true' +# - key: readability-function-size.StatementThreshold +# value: '800' +# - key: readability-function-cognitive-complexity.DescribeBasicIncrements +# value: 'true' +# - key: readability-function-cognitive-complexity.IgnoreMacros +# value: 'true' +# - key: readability-function-cognitive-complexity.Threshold +# value: '25' +# - key: readability-implicit-bool-conversion.AllowIntegerConditions +# value: 'false' + - key: readability-implicit-bool-conversion.AllowPointerConditions + value: 'true' +# - key: readability-inconsistent-declaration-parameter-name.IgnoreMacros +# value: 'true' + - key: readability-inconsistent-declaration-parameter-name.Strict + value: 'true' +# - key: readability-qualified-auto.AddConstToQualified +# value: 'true' +# - key: readability-redundant-declaration.IgnoreMacros +# value: 'true' +# - key: readability-redundant-member-init.IgnoreBaseInCopyConstructors +# value: 'false' +# - key: readability-redundant-smartptr-get.IgnoreMacros +# value: 'true' + - key: readability-simplify-boolean-expr.ChainedConditionalAssignment + value: 'true' + - key: readability-simplify-boolean-expr.ChainedConditionalReturn + value: 'true' +# - key: readability-uniqueptr-delete-release.PreferResetCall +# value: 'false' +# - key: readability-uppercase-literal-suffix.IgnoreMacros +# value: 'true' + - key: readability-uppercase-literal-suffix.NewSuffixes + value: 'f;F' +... + |