Checks: >-
  -*,
  clang-diagnostic-*,
  bugprone-*,
  performance-*,
  google-explicit-constructor,
  google-build-using-namespace,
  google-runtime-int,
  misc-definitions-in-headers,
  modernize-use-nullptr,
  modernize-use-override,
  -bugprone-macro-parentheses,
  readability-braces-around-statements,
  -bugprone-branch-clone,
  readability-identifier-naming,
  hicpp-exception-baseclass,
  misc-throw-by-value-catch-by-reference,
  -bugprone-signed-char-misuse,
  -bugprone-misplaced-widening-cast,
  -bugprone-sizeof-expression,
  -bugprone-easily-swappable-parameters,
  google-global-names-in-headers,
  llvm-header-guard,
  misc-definitions-in-headers,
  modernize-use-emplace,
  modernize-use-bool-literals,
  -performance-inefficient-string-concatenation,
  -performance-no-int-to-ptr,
  readability-container-size-empty,
  cppcoreguidelines-pro-type-cstyle-cast,
  -llvm-header-guard,
  -performance-enum-size,
  cppcoreguidelines-pro-type-const-cast,
  cppcoreguidelines-avoid-non-const-global-variables,
  cppcoreguidelines-interfaces-global-init,
  cppcoreguidelines-slicing,
  cppcoreguidelines-rvalue-reference-param-not-moved,
  cppcoreguidelines-virtual-class-destructor,
  -readability-identifier-naming,
  -bugprone-unused-local-non-trivial-variable,
  -bugprone-empty-catch,
  -misc-use-internal-linkage,
  -readability-static-definition-in-anonymous-namespace
WarningsAsErrors: '*'
HeaderFilterRegex: 'src/include/duckdb/.*'
FormatStyle:     none
CheckOptions:
  - key:             readability-identifier-naming.ClassCase
    value:           CamelCase
  - key:             readability-identifier-naming.EnumCase
    value:           CamelCase
  - key:             readability-identifier-naming.TypedefCase
    value:           lower_case
  - key:             readability-identifier-naming.TypedefSuffix
    value:           _t
  - key:             readability-identifier-naming.FunctionCase
    value:           CamelCase
  - key:             readability-identifier-naming.MemberCase
    value:           lower_case
  - key:             readability-identifier-naming.ParameterCase
    value:           lower_case
  - key:             readability-identifier-naming.ConstantCase
    value:           aNy_CasE
  - key:             readability-identifier-naming.ConstantParameterCase
    value:           lower_case
  - key:             readability-identifier-naming.NamespaceCase
    value:           lower_case
  - key:             readability-identifier-naming.MacroDefinitionCase
    value:           UPPER_CASE
  - key:             readability-identifier-naming.StaticConstantCase
    value:           UPPER_CASE
  - key:             readability-identifier-naming.ConstantMemberCase
    value:           aNy_CasE
  - key:             readability-identifier-naming.StaticVariableCase
    value:           UPPER_CASE
  - key:             readability-identifier-naming.ClassConstantCase
    value:           UPPER_CASE
  - key:             readability-identifier-naming.EnumConstantCase
    value:           UPPER_CASE
  - key:             readability-identifier-naming.ConstexprVariableCase
    value:           aNy_CasE
  - key:             readability-identifier-naming.StaticConstantCase
    value:           UPPER_CASE
  - key:             readability-identifier-naming.TemplateTemplateParameterCase
    value:           UPPER_CASE
  - key:             readability-identifier-naming.TypeTemplateParameterCase
    value:           UPPER_CASE
  - key:             readability-identifier-naming.VariableCase
    value:           lower_case
  - key:             modernize-use-emplace.SmartPointers
    value:           '::duckdb::shared_ptr;::duckdb::unique_ptr;::std::auto_ptr;::duckdb::weak_ptr'
  - key:             cppcoreguidelines-rvalue-reference-param-not-moved.IgnoreUnnamedParams
    value:           true
  - key:             misc-use-internal-linkage
    value:           true
  - key:             readability-static-definition-in-anonymous-namespace
    value:           true