.clang-tidy 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. # Disable the following checks with reasons in parenthesis:
  2. #
  3. # -bugprone-macro-parentheses (inconsistent style)
  4. # -google-readability-todo (potentially too restrictive)
  5. # -misc-non-private-member-variables-in-classes (potentially too restrictive)
  6. # -misc-unused-parameters (can be cleaned up in batch and enabled)
  7. # -modernize-avoid-c-arrays (too restrictive)
  8. # -modernize-concat-nested-namespaces (inconsistent style)
  9. # -modernize-pass-by-value (too restrictive)
  10. # -modernize-return-braced-init-list (inconsistent style)
  11. # -modernize-use-emplace (more subtle behavior)
  12. # -modernize-use-nodiscard (too much noise)
  13. # -modernize-use-trailing-return-type (inconsistent style)
  14. # -modernize-use-override (TODO(mwtian): re-enable after fixing existing derived classes)
  15. # -modernize-avoid-bind (incorrect conversion)
  16. # -modernize-loop-convert (more subtle behavior)
  17. # -modernize-replace-disallow-copy-and-assign-macro (inconsistent style)
  18. # -modernize-make-unique (doesn't work with private constructor)
  19. # -modernize-make-shared (doesn't work with private constructor)
  20. # Other readability-* rules (potentially too noisy, inconsistent style)
  21. # Other rules not mentioned here or below (not yet evaluated)
  22. #
  23. # TODO: enable google-* and readability-* families of checks.
  24. Checks: >
  25. abseil-*,
  26. bugprone-*,
  27. -bugprone-macro-parentheses,
  28. google-*,
  29. -google-readability-todo,
  30. misc-*,
  31. -misc-non-private-member-variables-in-classes,
  32. -misc-unused-parameters,
  33. modernize-*,
  34. -modernize-avoid-c-arrays,
  35. -modernize-concat-nested-namespaces,
  36. -modernize-pass-by-value,
  37. -modernize-return-braced-init-list,
  38. -modernize-use-emplace,
  39. -modernize-use-nodiscard,
  40. -modernize-use-trailing-return-type,
  41. -modernize-avoid-bind,
  42. -modernize-loop-convert,
  43. -modernize-replace-disallow-copy-and-assign-macro,
  44. -modernize-make-unique,
  45. -modernize-make-shared,
  46. -modernize-use-override,
  47. performance-*,
  48. readability-avoid-const-params-in-decls,
  49. readability-braces-around-statements,
  50. readability-const-return-type,
  51. readability-container-size-empty,
  52. readability-delete-null-pointer,
  53. readability-else-after-return,
  54. readability-implicit-bool-conversion,
  55. readability-make-member-function-const,
  56. readability-misleading-indentation,
  57. readability-misplaced-array-index,
  58. readability-named-parameter,
  59. readability-non-const-parameter,
  60. readability-redundant-*,
  61. readability-static-definition-in-anonymous-namespace,
  62. readability-string-compare,
  63. readability-suspicious-call-argument,
  64. CheckOptions:
  65. # Reduce noisiness of the bugprone-narrowing-conversions check.
  66. - key: bugprone-narrowing-conversions.IgnoreConversionFromTypes
  67. value: 'size_t;ptrdiff_t;size_type;difference_type'
  68. - key: bugprone-narrowing-conversions.WarnOnEquivalentBitWidth
  69. value: 'false'
  70. # Turn all the warnings from the checks above into errors.
  71. WarningsAsErrors: "*"