Reference implementations of PQC
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

.clang-tidy 14 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. ---
  2. Checks: '*,-llvm-header-guard,-hicpp-*,-readability-function-size,-google-readability-todo'
  3. WarningsAsErrors: '*'
  4. HeaderFilterRegex: '.*'
  5. AnalyzeTemporaryDtors: false
  6. FormatStyle: file
  7. User: thom
  8. CheckOptions:
  9. - key: abseil-string-find-startswith.AbseilStringsMatchHeader
  10. value: absl/strings/match.h
  11. - key: abseil-string-find-startswith.IncludeStyle
  12. value: llvm
  13. - key: abseil-string-find-startswith.StringLikeClasses
  14. value: '::std::basic_string'
  15. - key: bugprone-argument-comment.StrictMode
  16. value: '0'
  17. - key: bugprone-assert-side-effect.AssertMacros
  18. value: assert
  19. - key: bugprone-assert-side-effect.CheckFunctionCalls
  20. value: '0'
  21. - key: bugprone-dangling-handle.HandleClasses
  22. value: 'std::basic_string_view;std::experimental::basic_string_view'
  23. - key: bugprone-exception-escape.FunctionsThatShouldNotThrow
  24. value: ''
  25. - key: bugprone-exception-escape.IgnoredExceptions
  26. value: ''
  27. - key: bugprone-misplaced-widening-cast.CheckImplicitCasts
  28. value: '0'
  29. - key: bugprone-sizeof-expression.WarnOnSizeOfCompareToConstant
  30. value: '1'
  31. - key: bugprone-sizeof-expression.WarnOnSizeOfConstant
  32. value: '1'
  33. - key: bugprone-sizeof-expression.WarnOnSizeOfIntegerExpression
  34. value: '0'
  35. - key: bugprone-sizeof-expression.WarnOnSizeOfThis
  36. value: '1'
  37. - key: bugprone-string-constructor.LargeLengthThreshold
  38. value: '8388608'
  39. - key: bugprone-string-constructor.WarnOnLargeLength
  40. value: '1'
  41. - key: bugprone-suspicious-enum-usage.StrictMode
  42. value: '0'
  43. - key: bugprone-suspicious-missing-comma.MaxConcatenatedTokens
  44. value: '5'
  45. - key: bugprone-suspicious-missing-comma.RatioThreshold
  46. value: '0.200000'
  47. - key: bugprone-suspicious-missing-comma.SizeThreshold
  48. value: '5'
  49. - key: bugprone-suspicious-string-compare.StringCompareLikeFunctions
  50. value: ''
  51. - key: bugprone-suspicious-string-compare.WarnOnImplicitComparison
  52. value: '1'
  53. - key: bugprone-suspicious-string-compare.WarnOnLogicalNotComparison
  54. value: '0'
  55. - key: bugprone-unused-return-value.CheckedFunctions
  56. value: '::std::async;::std::launder;::std::remove;::std::remove_if;::std::unique;::std::unique_ptr::release;::std::basic_string::empty;::std::vector::empty'
  57. - key: cert-dcl59-cpp.HeaderFileExtensions
  58. value: ',h,hh,hpp,hxx'
  59. - key: cert-err09-cpp.CheckThrowTemporaries
  60. value: '1'
  61. - key: cert-err61-cpp.CheckThrowTemporaries
  62. value: '1'
  63. - key: cert-msc32-c.DisallowedSeedTypes
  64. value: 'time_t,std::time_t'
  65. - key: cert-msc51-cpp.DisallowedSeedTypes
  66. value: 'time_t,std::time_t'
  67. - key: cert-oop11-cpp.IncludeStyle
  68. value: llvm
  69. - key: cppcoreguidelines-no-malloc.Allocations
  70. value: '::malloc;::calloc'
  71. - key: cppcoreguidelines-no-malloc.Deallocations
  72. value: '::free'
  73. - key: cppcoreguidelines-no-malloc.Reallocations
  74. value: '::realloc'
  75. - key: cppcoreguidelines-owning-memory.LegacyResourceConsumers
  76. value: '::free;::realloc;::freopen;::fclose'
  77. - key: cppcoreguidelines-owning-memory.LegacyResourceProducers
  78. value: '::malloc;::aligned_alloc;::realloc;::calloc;::fopen;::freopen;::tmpfile'
  79. - key: cppcoreguidelines-pro-bounds-constant-array-index.GslHeader
  80. value: ''
  81. - key: cppcoreguidelines-pro-bounds-constant-array-index.IncludeStyle
  82. value: '0'
  83. - key: cppcoreguidelines-pro-type-member-init.IgnoreArrays
  84. value: '0'
  85. - key: cppcoreguidelines-special-member-functions.AllowMissingMoveFunctions
  86. value: '0'
  87. - key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
  88. value: '0'
  89. - key: fuchsia-header-anon-namespaces.HeaderFileExtensions
  90. value: ',h,hh,hpp,hxx'
  91. - key: fuchsia-restrict-system-includes.Includes
  92. value: '*'
  93. - key: google-build-namespaces.HeaderFileExtensions
  94. value: ',h,hh,hpp,hxx'
  95. - key: google-global-names-in-headers.HeaderFileExtensions
  96. value: ',h,hh,hpp,hxx'
  97. - key: google-readability-braces-around-statements.ShortStatementLines
  98. value: '1'
  99. - key: google-readability-function-size.BranchThreshold
  100. value: '4294967295'
  101. - key: google-readability-function-size.LineThreshold
  102. value: '4294967295'
  103. - key: google-readability-function-size.NestingThreshold
  104. value: '4294967295'
  105. - key: google-readability-function-size.ParameterThreshold
  106. value: '4294967295'
  107. - key: google-readability-function-size.StatementThreshold
  108. value: '1000'
  109. - key: google-readability-function-size.VariableThreshold
  110. value: '4294967295'
  111. - key: google-readability-namespace-comments.ShortNamespaceLines
  112. value: '10'
  113. - key: google-readability-namespace-comments.SpacesBeforeComments
  114. value: '2'
  115. - key: google-runtime-int.SignedTypePrefix
  116. value: int
  117. - key: google-runtime-int.TypeSuffix
  118. value: ''
  119. - key: google-runtime-int.UnsignedTypePrefix
  120. value: uint
  121. - key: google-runtime-references.WhiteListTypes
  122. value: ''
  123. - key: hicpp-braces-around-statements.ShortStatementLines
  124. value: '0'
  125. - key: hicpp-member-init.IgnoreArrays
  126. value: '0'
  127. - key: hicpp-move-const-arg.CheckTriviallyCopyableMove
  128. value: '1'
  129. - key: hicpp-multiway-paths-covered.WarnOnMissingElse
  130. value: '0'
  131. - key: hicpp-named-parameter.IgnoreFailedSplit
  132. value: '0'
  133. - key: hicpp-no-malloc.Allocations
  134. value: '::malloc;::calloc'
  135. - key: hicpp-no-malloc.Deallocations
  136. value: '::free'
  137. - key: hicpp-no-malloc.Reallocations
  138. value: '::realloc'
  139. - key: hicpp-special-member-functions.AllowMissingMoveFunctions
  140. value: '0'
  141. - key: hicpp-special-member-functions.AllowSoleDefaultDtor
  142. value: '0'
  143. - key: hicpp-use-auto.MinTypeNameLength
  144. value: '5'
  145. - key: hicpp-use-auto.RemoveStars
  146. value: '0'
  147. - key: hicpp-use-emplace.ContainersWithPushBack
  148. value: '::std::vector;::std::list;::std::deque'
  149. - key: hicpp-use-emplace.SmartPointers
  150. value: '::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr'
  151. - key: hicpp-use-emplace.TupleMakeFunctions
  152. value: '::std::make_pair;::std::make_tuple'
  153. - key: hicpp-use-emplace.TupleTypes
  154. value: '::std::pair;::std::tuple'
  155. - key: hicpp-use-equals-default.IgnoreMacros
  156. value: '1'
  157. - key: hicpp-use-noexcept.ReplacementString
  158. value: ''
  159. - key: hicpp-use-noexcept.UseNoexceptFalse
  160. value: '1'
  161. - key: hicpp-use-nullptr.NullMacros
  162. value: ''
  163. - key: llvm-namespace-comment.ShortNamespaceLines
  164. value: '1'
  165. - key: llvm-namespace-comment.SpacesBeforeComments
  166. value: '1'
  167. - key: misc-definitions-in-headers.HeaderFileExtensions
  168. value: ',h,hh,hpp,hxx'
  169. - key: misc-definitions-in-headers.UseHeaderFileExtension
  170. value: '1'
  171. - key: misc-throw-by-value-catch-by-reference.CheckThrowTemporaries
  172. value: '1'
  173. - key: misc-unused-parameters.StrictMode
  174. value: '0'
  175. - key: modernize-loop-convert.MaxCopySize
  176. value: '16'
  177. - key: modernize-loop-convert.MinConfidence
  178. value: reasonable
  179. - key: modernize-loop-convert.NamingStyle
  180. value: CamelCase
  181. - key: modernize-make-shared.IgnoreMacros
  182. value: '1'
  183. - key: modernize-make-shared.IncludeStyle
  184. value: '0'
  185. - key: modernize-make-shared.MakeSmartPtrFunction
  186. value: 'std::make_shared'
  187. - key: modernize-make-shared.MakeSmartPtrFunctionHeader
  188. value: memory
  189. - key: modernize-make-unique.IgnoreMacros
  190. value: '1'
  191. - key: modernize-make-unique.IncludeStyle
  192. value: '0'
  193. - key: modernize-make-unique.MakeSmartPtrFunction
  194. value: 'std::make_unique'
  195. - key: modernize-make-unique.MakeSmartPtrFunctionHeader
  196. value: memory
  197. - key: modernize-pass-by-value.IncludeStyle
  198. value: llvm
  199. - key: modernize-pass-by-value.ValuesOnly
  200. value: '0'
  201. - key: modernize-raw-string-literal.ReplaceShorterLiterals
  202. value: '0'
  203. - key: modernize-replace-auto-ptr.IncludeStyle
  204. value: llvm
  205. - key: modernize-replace-random-shuffle.IncludeStyle
  206. value: llvm
  207. - key: modernize-use-auto.MinTypeNameLength
  208. value: '5'
  209. - key: modernize-use-auto.RemoveStars
  210. value: '0'
  211. - key: modernize-use-default-member-init.IgnoreMacros
  212. value: '1'
  213. - key: modernize-use-default-member-init.UseAssignment
  214. value: '0'
  215. - key: modernize-use-emplace.ContainersWithPushBack
  216. value: '::std::vector;::std::list;::std::deque'
  217. - key: modernize-use-emplace.SmartPointers
  218. value: '::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr'
  219. - key: modernize-use-emplace.TupleMakeFunctions
  220. value: '::std::make_pair;::std::make_tuple'
  221. - key: modernize-use-emplace.TupleTypes
  222. value: '::std::pair;::std::tuple'
  223. - key: modernize-use-equals-default.IgnoreMacros
  224. value: '1'
  225. - key: modernize-use-noexcept.ReplacementString
  226. value: ''
  227. - key: modernize-use-noexcept.UseNoexceptFalse
  228. value: '1'
  229. - key: modernize-use-nullptr.NullMacros
  230. value: 'NULL'
  231. - key: modernize-use-transparent-functors.SafeMode
  232. value: '0'
  233. - key: modernize-use-using.IgnoreMacros
  234. value: '1'
  235. - key: objc-forbidden-subclassing.ForbiddenSuperClassNames
  236. value: 'ABNewPersonViewController;ABPeoplePickerNavigationController;ABPersonViewController;ABUnknownPersonViewController;NSHashTable;NSMapTable;NSPointerArray;NSPointerFunctions;NSTimer;UIActionSheet;UIAlertView;UIImagePickerController;UITextInputMode;UIWebView'
  237. - key: objc-property-declaration.Acronyms
  238. value: ''
  239. - key: objc-property-declaration.IncludeDefaultAcronyms
  240. value: '1'
  241. - key: performance-faster-string-find.StringLikeClasses
  242. value: 'std::basic_string'
  243. - key: performance-for-range-copy.WarnOnAllAutoCopies
  244. value: '0'
  245. - key: performance-inefficient-string-concatenation.StrictMode
  246. value: '0'
  247. - key: performance-inefficient-vector-operation.VectorLikeClasses
  248. value: '::std::vector'
  249. - key: performance-move-const-arg.CheckTriviallyCopyableMove
  250. value: '1'
  251. - key: performance-move-constructor-init.IncludeStyle
  252. value: llvm
  253. - key: performance-type-promotion-in-math-fn.IncludeStyle
  254. value: llvm
  255. - key: performance-unnecessary-value-param.IncludeStyle
  256. value: llvm
  257. - key: portability-simd-intrinsics.Std
  258. value: ''
  259. - key: portability-simd-intrinsics.Suggest
  260. value: '0'
  261. - key: readability-braces-around-statements.ShortStatementLines
  262. value: '0'
  263. - key: readability-function-size.BranchThreshold
  264. value: '4294967295'
  265. - key: readability-function-size.LineThreshold
  266. value: '4294967295'
  267. - key: readability-function-size.NestingThreshold
  268. value: '4294967295'
  269. - key: readability-function-size.ParameterThreshold
  270. value: '4294967295'
  271. - key: readability-function-size.StatementThreshold
  272. value: '800'
  273. - key: readability-function-size.VariableThreshold
  274. value: '4294967295'
  275. - key: readability-identifier-naming.IgnoreFailedSplit
  276. value: '0'
  277. - key: readability-implicit-bool-conversion.AllowIntegerConditions
  278. value: '0'
  279. - key: readability-implicit-bool-conversion.AllowPointerConditions
  280. value: '0'
  281. - key: readability-inconsistent-declaration-parameter-name.IgnoreMacros
  282. value: '1'
  283. - key: readability-inconsistent-declaration-parameter-name.Strict
  284. value: '0'
  285. - key: readability-simplify-boolean-expr.ChainedConditionalAssignment
  286. value: '0'
  287. - key: readability-simplify-boolean-expr.ChainedConditionalReturn
  288. value: '0'
  289. - key: readability-simplify-subscript-expr.Types
  290. value: '::std::basic_string;::std::basic_string_view;::std::vector;::std::array'
  291. - key: readability-static-accessed-through-instance.NameSpecifierNestingThreshold
  292. value: '3'
  293. - key: zircon-temporary-objects.Names
  294. value: ''
  295. ...