# Why we disabled individual checks:
#
# clang-analyzer-optin.cplusplus.UninitializedObject
#   TODO: Occurs commonly in graphics_threaded.h
# clang-analyzer-optin.cplusplus.VirtualCall
#   Occurs very commonly all over
# clang-analyzer-optin.performance.Padding
#   Too annoying to always align for perfect padding
# clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,
#   TODO: Requires C11 to fix
# misc-unused-parameters
#   TODO: Many changes
# readability-static-accessed-through-instance,
#   Crashes: https://github.com/llvm/llvm-project/issues/53359

Checks: >
  -*,
  bugprone-*,
  -bugprone-branch-clone,
  -bugprone-easily-swappable-parameters,
  -bugprone-implicit-widening-of-multiplication-result,
  -bugprone-incorrect-roundings,
  -bugprone-integer-division,
  -bugprone-macro-parentheses,
  -bugprone-narrowing-conversions,
  -bugprone-parent-virtual-call,
  -bugprone-reserved-identifier,
  -bugprone-suspicious-include,
  -bugprone-unhandled-self-assignment,
  clang-analyzer-*,
  -clang-analyzer-optin.cplusplus.UninitializedObject,
  -clang-analyzer-optin.cplusplus.VirtualCall,
  -clang-analyzer-optin.osx.cocoa.localizability.NonLocalizedStringChecker,
  -clang-analyzer-optin.performance.Padding,
  -clang-analyzer-osx.cocoa.RetainCount,
  -clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,
  -clang-analyzer-security.insecureAPI.rand,
  misc-*,
  -misc-no-recursion,
  -misc-non-private-member-variables-in-classes,
  -misc-static-assert,
  -misc-unused-parameters,
  modernize-loop-convert,
  readability-*,
  -readability-braces-around-statements,
  -readability-convert-member-functions-to-static,
  -readability-else-after-return,
  -readability-function-cognitive-complexity,
  -readability-function-size,
  -readability-identifier-length,
  -readability-identifier-naming,
  -readability-implicit-bool-conversion,
  -readability-isolate-declaration,
  -readability-magic-numbers,
  -readability-make-member-function-const,
  -readability-named-parameter,
  -readability-non-const-parameter,
  -readability-static-accessed-through-instance,
  -readability-suspicious-call-argument,
  -readability-uppercase-literal-suffix,
  performance-*,
  -performance-no-int-to-ptr,
