.clang-tidy 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. ---
  2. # Note on checks are disabled on purpose
  3. #
  4. # - abseil-no-namespace
  5. # https://bugs.llvm.org/show_bug.cgi?id=47947
  6. #
  7. # - bugprone-reserved-identifier
  8. # Some macros need to be defined for portability purpose; e.g. _BSD_SOURCE.
  9. #
  10. # - google-upgrade-googletest-case
  11. # This requires googletest 1.10 which is higher than ones installed on many linux distributions.
  12. #
  13. # - modernize-redundant-void-arg
  14. # Some source should be strictly C99 and func(void) should be used.
  15. #
  16. # Note on checks which will be enabled in future. These are good to have but
  17. # it's not activated yet due to the existing issues with the checks.
  18. # Once those issues are clear, these checks can be enabled later.
  19. #
  20. # - bugprone-branch-clone
  21. # - bugprone-easily-swappable-parameters,
  22. # - bugprone-implicit-widening-of-multiplication-result
  23. # - bugprone-infinite-loop
  24. # - bugprone-narrowing-conversions
  25. # - bugprone-not-null-terminated-result
  26. # - bugprone-signed-char-misuse
  27. # - bugprone-sizeof-expression
  28. # - bugprone-too-small-loop-variable
  29. # - clang-diagnostic-deprecated-declarations
  30. # - clang-diagnostic-unused-function
  31. # - google-readability-avoid-underscore-in-googletest-name
  32. # - google-runtime-int
  33. # - google-runtime-references
  34. # - modernize-avoid-bind
  35. # - modernize-deprecated-headers
  36. # - modernize-loop-convert
  37. # - modernize-pass-by-value
  38. # - modernize-raw-string-literal
  39. # - modernize-return-braced-init-list
  40. # - modernize-use-auto
  41. # - modernize-use-default-member-init
  42. # - modernize-use-emplace
  43. # - modernize-use-equals-default
  44. # - modernize-use-equals-delete
  45. # - modernize-use-using
  46. # - performance-no-automatic-move
  47. # - performance-no-int-to-ptr
  48. # - performance-unnecessary-copy-initialization
  49. # - performance-unnecessary-value-param
  50. # - readability-else-after-return
  51. # - readability-implicit-bool-conversion
  52. # - readability-redundant-declaration
  53. #
  54. Checks: '-*,
  55. abseil-*,
  56. -abseil-no-namespace,
  57. bugprone-*,
  58. -bugprone-branch-clone,
  59. -bugprone-easily-swappable-parameters,
  60. -bugprone-implicit-widening-of-multiplication-result,
  61. -bugprone-infinite-loop,
  62. -bugprone-narrowing-conversions,
  63. -bugprone-not-null-terminated-result,
  64. -bugprone-reserved-identifier,
  65. -bugprone-signed-char-misuse,
  66. -bugprone-sizeof-expression,
  67. -bugprone-too-small-loop-variable,
  68. google-*,
  69. -google-readability-avoid-underscore-in-googletest-name,
  70. -google-runtime-int,
  71. -google-runtime-references,
  72. -google-upgrade-googletest-case,
  73. performance-*,
  74. -performance-no-automatic-move,
  75. -performance-no-int-to-ptr,
  76. -performance-unnecessary-copy-initialization,
  77. -performance-unnecessary-value-param,
  78. clang-diagnostic-deprecated-register,
  79. clang-diagnostic-expansion-to-defined,
  80. clang-diagnostic-ignored-attributes,
  81. clang-diagnostic-non-pod-varargs,
  82. clang-diagnostic-shadow-field,
  83. clang-diagnostic-shift-sign-overflow,
  84. clang-diagnostic-tautological-undefined-compare,
  85. clang-diagnostic-thread-safety*,
  86. clang-diagnostic-undefined-bool-conversion,
  87. clang-diagnostic-unreachable-code,
  88. clang-diagnostic-unreachable-code-loop-increment,
  89. clang-diagnostic-unused-const-variable,
  90. clang-diagnostic-unused-lambda-capture,
  91. clang-diagnostic-unused-local-typedef,
  92. clang-diagnostic-unused-private-field,
  93. clang-diagnostic-user-defined-warnings,
  94. misc-definitions-in-headers,
  95. misc-static-assert,
  96. misc-unconventional-assign-operator,
  97. misc-uniqueptr-reset-release,
  98. misc-unused-alias-decls,
  99. misc-unused-using-decls,
  100. modernize-make-shared,
  101. modernize-make-unique,
  102. modernize-replace-auto-ptr,
  103. modernize-replace-random-shuffle,
  104. modernize-shrink-to-fit,
  105. modernize-unary-static-assert,
  106. modernize-use-bool-literals,
  107. modernize-use-noexcept,
  108. modernize-use-nullptr,
  109. modernize-use-override,
  110. modernize-use-transparent-functors,
  111. readability-const-return-type,
  112. readability-container-size-empty,
  113. readability-delete-null-pointer,
  114. readability-deleted-default,
  115. readability-function-size,
  116. readability-inconsistent-declaration-parameter-name,
  117. readability-misleading-indentation,
  118. readability-misplaced-array-index,
  119. readability-redundant-control-flow,
  120. readability-redundant-function-ptr-dereference,
  121. readability-redundant-smartptr-get,
  122. readability-simplify-boolean-expr,
  123. readability-static-definition-in-anonymous-namespace,
  124. readability-string-compare,
  125. readability-uniqueptr-delete-release'
  126. WarningsAsErrors: '*'
  127. CheckOptions:
  128. - key: readability-function-size.StatementThreshold
  129. value: '450'
  130. - key: modernize-make-unique.MakeSmartPtrFunction
  131. value: 'absl::make_unique'
  132. - key: modernize-make-unique.MakeSmartPtrFunctionHeader
  133. value: 'absl/memory/memory.h'
  134. - key: google-readability-braces-around-statements.ShortStatementLines
  135. value: 1