# Part of the Carbon Language project, under the Apache License v2.0 with LLVM # Exceptions. See /LICENSE for license information. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception --- # - bugprone-exception-escape finds issues like out-of-memory in main(). We # don't use exceptions, so it's unlikely to find real issues. # - google-readability-function-size overlaps with readability-function-size. # - modernize-use-nodiscard is disabled because it only fixes const methods, # not non-const, which yields distracting results on accessors. # - performance-unnecessary-value-param is disabled because it duplicate # modernize-pass-by-value. Checks: -*, bugprone-*, -bugprone-branch-clone, -bugprone-easily-swappable-parameters, -bugprone-exception-escape, -bugprone-narrowing-conversions, google-*, -google-readability-function-size, -google-readability-todo, misc-definitions-in-headers, misc-misplaced-const, misc-redundant-expression, misc-static-assert, misc-unconventional-assign-operator, misc-uniqueptr-reset-release, misc-unused-*, modernize-*, -modernize-avoid-c-arrays, -modernize-return-braced-init-list, -modernize-use-default-member-init, -modernize-use-emplace, -modernize-use-nodiscard, performance-*, -performance-unnecessary-value-param, readability-*, -readability-convert-member-functions-to-static, -readability-function-cognitive-complexity, -readability-else-after-return, -readability-identifier-length, -readability-implicit-bool-conversion, -readability-magic-numbers, -readability-make-member-function-const, -readability-static-definition-in-anonymous-namespace, -readability-suspicious-call-argument, -readability-use-anyofallof WarningsAsErrors: true CheckOptions: - { key: readability-identifier-naming.ClassCase, value: CamelCase } - { key: readability-identifier-naming.ClassConstantCase, value: CamelCase } - { key: readability-identifier-naming.ConstexprVariableCase, value: CamelCase, } - { key: readability-identifier-naming.NamespaceCase, value: CamelCase } - { key: readability-identifier-naming.StructCase, value: CamelCase } - { key: readability-identifier-naming.TemplateParameterCase, value: CamelCase, } - { key: readability-identifier-naming.TypeAliasCase, value: CamelCase } - { key: readability-identifier-naming.TypedefCase, value: CamelCase } - { key: readability-identifier-naming.UnionCase, value: CamelCase } - { key: readability-identifier-naming.VariableCase, value: lower_case } - { key: readability-identifier-naming.ParameterCase, value: lower_case } - { key: readability-identifier-naming.ClassMemberCase, value: lower_case } - { key: readability-identifier-naming.MethodIgnoredRegexp, value: '^classof$', }