#
# Copyright (c) 2008-2021 the Urho3D project.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#

---
Checks: 'clang-diagnostic-*,clang-analyzer-*,*,-android-*,-bugprone-bool-pointer-implicit-conversion,-bugprone-exception-escape,-bugprone-infinite-loop,-bugprone-signed-char-misuse,-cert-dcl50-cpp,-cert-env33-c,-cert-mem57-cpp,-cert-oop57-cpp,-cert-oop58-cpp,-clang-analyzer-*,-clang-diagnostic-*,-cppcoreguidelines-avoid-goto,-cppcoreguidelines-avoid-non-const-global-variables,-cppcoreguidelines-init-variables,-cppcoreguidelines-macro-usage,-cppcoreguidelines-no-malloc,-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-cstyle-cast,-cppcoreguidelines-pro-type-reinterpret-cast,-cppcoreguidelines-pro-type-union-access,-cppcoreguidelines-pro-type-vararg,-cppcoreguidelines-special-member-functions,-darwin-*,-fuchsia-*,-google-*,-hicpp-avoid-goto,-hicpp-no-assembler,-linuxkernel-*,-llvm-*,-llvmlibc-*,-misc-bool-pointer-implicit-conversion,-misc-definitions-in-headers,-misc-non-private-member-variables-in-classes,-misc-redundant-expression,-misc-static-assert,-misc-unused-alias-decls,-misc-unused-parameters,-misc-unused-using-decls,-modernize-avoid-c-arrays,-modernize-use-default-member-init,-modernize-use-trailing-return-type,-modernize-use-using,-objc-*,-openmp-exception-escape,-portability-restrict-system-includes,-readability-braces-around-statements,-readability-else-after-return,-readability-function-size,-readability-identifier-naming,-readability-implicit-bool-conversion,-readability-isolate-declaration,-readability-magic-numbers,-readability-named-parameter,-readability-qualified-auto,-readability-redundant-access-specifiers,-readability-redundant-member-init,-readability-redundant-preprocessor,-readability-simplify-boolean-expr,-readability-uppercase-literal-suffix,-zircon-*,-bugprone-narrowing-conversions,-cert-con36-c,-cert-con54-cpp,-cert-dcl03-c,-cert-dcl16-c,-cert-dcl37-c,-cert-dcl51-cpp,-cert-dcl54-cpp,-cert-dcl59-cpp,-cert-err09-cpp,-cert-err61-cpp,-cert-fio38-c,-cert-msc30-c,-cert-msc32-c,-cert-oop11-cpp,-cert-oop54-cpp,-cert-pos44-c,-cppcoreguidelines-avoid-c-arrays,-cppcoreguidelines-avoid-magic-numbers,-cppcoreguidelines-c-copy-assignment-signature,-cppcoreguidelines-explicit-virtual-functions,-cppcoreguidelines-non-private-member-variables-in-classes,-fuchsia-header-anon-namespaces,-google-readability-braces-around-statements,-google-readability-function-size,-google-readability-namespace-comments,-hicpp-avoid-c-arrays,-hicpp-braces-around-statements,-hicpp-deprecated-headers,-hicpp-explicit-conversions,-hicpp-function-size,-hicpp-invalid-access-moved,-hicpp-member-init,-hicpp-move-const-arg,-hicpp-named-parameter,-hicpp-new-delete-operators,-hicpp-no-array-decay,-hicpp-no-malloc,-hicpp-noexcept-move,-hicpp-special-member-functions,-hicpp-static-assert,-hicpp-undelegated-constructor,-hicpp-uppercase-literal-suffix,-hicpp-use-auto,-hicpp-use-emplace,-hicpp-use-equals-default,-hicpp-use-equals-delete,-hicpp-use-noexcept,-hicpp-use-nullptr,-hicpp-use-override,-hicpp-vararg,google-default-arguments,google-explicit-constructor,google-runtime-operator'
WarningsAsErrors: ''
HeaderFilterRegex: ''
AnalyzeTemporaryDtors: false
FormatStyle: none
CheckOptions:
  - key: abseil-string-find-startswith.AbseilStringsMatchHeader
    value: 'absl/strings/match.h'
  - key: abseil-string-find-startswith.IncludeStyle
    value: llvm
  - key: abseil-string-find-startswith.StringLikeClasses
    value: '::std::basic_string'
  - key: bugprone-argument-comment.CommentBoolLiterals
    value: '0'
  - key: bugprone-argument-comment.CommentCharacterLiterals
    value: '0'
  - key: bugprone-argument-comment.CommentFloatLiterals
    value: '0'
  - key: bugprone-argument-comment.CommentIntegerLiterals
    value: '0'
  - key: bugprone-argument-comment.CommentNullPtrs
    value: '0'
  - key: bugprone-argument-comment.CommentStringLiterals
    value: '0'
  - key: bugprone-argument-comment.CommentUserDefinedLiterals
    value: '0'
  - key: bugprone-argument-comment.IgnoreSingleArgument
    value: '0'
  - key: bugprone-argument-comment.StrictMode
    value: '0'
  - key: bugprone-assert-side-effect.AssertMacros
    value: assert
  - key: bugprone-assert-side-effect.CheckFunctionCalls
    value: '0'
  - key: bugprone-dangling-handle.HandleClasses
    value: 'std::basic_string_view;std::experimental::basic_string_view'
  - key: bugprone-dynamic-static-initializers.HeaderFileExtensions
    value: ',h,hh,hpp,hxx'
  - key: bugprone-misplaced-widening-cast.CheckImplicitCasts
    value: '0'
  - key: bugprone-not-null-terminated-result.WantToUseSafeFunctions
    value: '1'
  - key: bugprone-sizeof-expression.WarnOnSizeOfCompareToConstant
    value: '1'
  - key: bugprone-sizeof-expression.WarnOnSizeOfConstant
    value: '1'
  - key: bugprone-sizeof-expression.WarnOnSizeOfIntegerExpression
    value: '0'
  - key: bugprone-sizeof-expression.WarnOnSizeOfThis
    value: '1'
  - key: bugprone-string-constructor.LargeLengthThreshold
    value: '8388608'
  - key: bugprone-string-constructor.WarnOnLargeLength
    value: '1'
  - key: bugprone-suspicious-enum-usage.StrictMode
    value: '0'
  - key: bugprone-suspicious-missing-comma.MaxConcatenatedTokens
    value: '5'
  - key: bugprone-suspicious-missing-comma.RatioThreshold
    value: '0.200000'
  - key: bugprone-suspicious-missing-comma.SizeThreshold
    value: '5'
  - key: bugprone-suspicious-string-compare.StringCompareLikeFunctions
    value: ''
  - key: bugprone-suspicious-string-compare.WarnOnImplicitComparison
    value: '1'
  - key: bugprone-suspicious-string-compare.WarnOnLogicalNotComparison
    value: '0'
  - key: bugprone-too-small-loop-variable.MagnitudeBitsUpperLimit
    value: '16'
  - key: bugprone-unhandled-self-assignment.WarnOnlyIfThisHasSuspiciousField
    value: '1'
  - key: bugprone-unused-return-value.CheckedFunctions
    value: '::std::async;::std::launder;::std::remove;::std::remove_if;::std::unique;::std::unique_ptr::release;::std::basic_string::empty;::std::vector::empty'
  - key: cert-dcl16-c.NewSuffixes
    value: 'L;LL;LU;LLU'
  - key: cert-msc51-cpp.DisallowedSeedTypes
    value: 'time_t,std::time_t'
  - key: cert-oop54-cpp.WarnOnlyIfThisHasSuspiciousField
    value: '0'
  - key: cppcoreguidelines-explicit-virtual-functions.IgnoreDestructors
    value: '1'
  - key: cppcoreguidelines-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
    value: '1'
  - key: cppcoreguidelines-pro-type-member-init.IgnoreArrays
    value: '0'
  - key: cppcoreguidelines-pro-type-member-init.UseAssignment
    value: '0'
  - key: google-readability-braces-around-statements.ShortStatementLines
    value: '1'
  - key: google-readability-function-size.StatementThreshold
    value: '800'
  - key: google-readability-namespace-comments.ShortNamespaceLines
    value: '10'
  - key: google-readability-namespace-comments.SpacesBeforeComments
    value: '2'
  - key: hicpp-multiway-paths-covered.WarnOnMissingElse
    value: '0'
  - key: hicpp-signed-bitwise.IgnorePositiveIntegerLiterals
    value: '0'
  - key: misc-throw-by-value-catch-by-reference.CheckThrowTemporaries
    value: '1'
  - key: modernize-loop-convert.MaxCopySize
    value: '16'
  - key: modernize-loop-convert.MinConfidence
    value: reasonable
  - key: modernize-loop-convert.NamingStyle
    value: CamelCase
  - key: modernize-make-shared.IgnoreMacros
    value: '1'
  - key: modernize-make-shared.IncludeStyle
    value: '0'
  - key: modernize-make-shared.MakeSmartPtrFunction
    value: 'std::make_shared'
  - key: modernize-make-shared.MakeSmartPtrFunctionHeader
    value: memory
  - key: modernize-make-unique.IgnoreMacros
    value: '1'
  - key: modernize-make-unique.IncludeStyle
    value: '0'
  - key: modernize-make-unique.MakeSmartPtrFunction
    value: 'std::make_unique'
  - key: modernize-make-unique.MakeSmartPtrFunctionHeader
    value: memory
  - key: modernize-pass-by-value.IncludeStyle
    value: llvm
  - key: modernize-pass-by-value.ValuesOnly
    value: '0'
  - key: modernize-raw-string-literal.ReplaceShorterLiterals
    value: '0'
  - key: modernize-replace-auto-ptr.IncludeStyle
    value: llvm
  - key: modernize-replace-random-shuffle.IncludeStyle
    value: llvm
  - key: modernize-use-auto.MinTypeNameLength
    value: '5'
  - key: modernize-use-auto.RemoveStars
    value: '0'
  - key: modernize-use-emplace.ContainersWithPushBack
    value: '::std::vector;::std::list;::std::deque'
  - 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: '1'
  - key: modernize-use-equals-delete.IgnoreMacros
    value: '1'
  - key: modernize-use-nodiscard.ReplacementString
    value: '[[nodiscard]]'
  - key: modernize-use-noexcept.ReplacementString
    value: ''
  - key: modernize-use-noexcept.UseNoexceptFalse
    value: '1'
  - key: modernize-use-nullptr.NullMacros
    value: 'NULL'
  - key: modernize-use-override.AllowOverrideAndFinal
    value: '0'
  - key: modernize-use-override.FinalSpelling
    value: final
  - key: modernize-use-override.IgnoreDestructors
    value: '0'
  - key: modernize-use-override.OverrideSpelling
    value: override
  - key: modernize-use-transparent-functors.SafeMode
    value: '0'
  - key: performance-faster-string-find.StringLikeClasses
    value: 'std::basic_string'
  - key: performance-for-range-copy.AllowedTypes
    value: ''
  - key: performance-for-range-copy.WarnOnAllAutoCopies
    value: '0'
  - key: performance-inefficient-string-concatenation.StrictMode
    value: '0'
  - key: performance-inefficient-vector-operation.EnableProto
    value: '0'
  - key: performance-inefficient-vector-operation.VectorLikeClasses
    value: '::std::vector'
  - key: performance-move-const-arg.CheckTriviallyCopyableMove
    value: '1'
  - key: performance-move-constructor-init.IncludeStyle
    value: llvm
  - key: performance-no-automatic-move.AllowedTypes
    value: ''
  - key: performance-type-promotion-in-math-fn.IncludeStyle
    value: llvm
  - key: performance-unnecessary-copy-initialization.AllowedTypes
    value: ''
  - key: performance-unnecessary-value-param.AllowedTypes
    value: ''
  - key: performance-unnecessary-value-param.IncludeStyle
    value: llvm
  - key: portability-simd-intrinsics.Std
    value: ''
  - key: portability-simd-intrinsics.Suggest
    value: '0'
  - key: readability-inconsistent-declaration-parameter-name.IgnoreMacros
    value: '1'
  - key: readability-inconsistent-declaration-parameter-name.Strict
    value: '0'
  - key: readability-redundant-smartptr-get.IgnoreMacros
    value: '1'
  - key: readability-redundant-string-init.StringNames
    value: '::std::basic_string'
  - key: readability-simplify-subscript-expr.Types
    value: '::std::basic_string;::std::basic_string_view;::std::vector;::std::array'
  - key: readability-static-accessed-through-instance.NameSpecifierNestingThreshold
    value: '3'
...

# vi: set ts=2 sw=2 expandtab: