blame
---
# -bugprone-easily-swappable-parameters: Noisy, and there are other checks that
# catch things like suspicious call arguments.
#
# -bugprone-exception-escape: We don't use exceptions and will be building with
# -fno-exceptions soon.
#
# -bugprone-narrowing-conversions: Very noisy for not much gain.
#
# -cppcoreguidelines-[...]: TODO(robinlidnen): Investigate.
#
# -google-build-using-namespace: We use `using namespace` in tests and for std::literals.
#
# -misc-const-correctness: Consts some things that can't be const, and very very noisy.
#
# -modernize-make-unique, -modernize-use-emplace: Clang doesn't implement p0960
# yet, and we're not adding c-tors to all our structs.
#
# -modernize-use-nodiscard: Very noisy, and probably more meaningful if we only
# add it where it matters.
#
# -modernize-use-trailing-return-type: Stylistic change, and something we
# haven't been doing so far.
#
# -readability-container-data-pointer: We actually want a pointer to the first element.
#
# -readability-convert-member-functions-to-static: Makes some APIs confusing, especially when
# used in combination with readability-static-accessed-through-instance.
#
# -readability-function-cognitive-complexity: TODO(robinlinden): Investigate. Maybe case-by-case.
#
# -readability-function-size: TODO(robinlinden): Investigate. Maybe case-by-case.
#
# -readability-identifier-length: Requiring at least 3 characters for identifiers is silly.
#
# -readability-magic-numbers: Things implemented from specs and unit tests
# contain a lot of magic numbers.
#
# -readability-named-parameter: Leaving out argument names is fine where it doesn't add anything.
#
# TODO(robinlinden): Investigate.
# -readability-redundant-member-init
# -readability-uppercase-literal-suffix
# -bugprone-suspicious-stringview-data-usage
# -modernize-use-designated-initializers
# -modernize-use-ranges
# -readability-math-missing-parentheses
Checks: >
bugprone-*,
cert-*,
concurrency-*,
cppcoreguidelines-*,
google-*,
misc-*,
modernize-*,
performance-*,
readability-*,
readability-avoid-unconditional-preprocessor-if,
-bugprone-easily-swappable-parameters,
-bugprone-exception-escape,
-bugprone-narrowing-conversions,
-cppcoreguidelines-avoid-const-or-ref-data-members,
-cppcoreguidelines-avoid-do-while,
-cppcoreguidelines-avoid-magic-numbers,
-cppcoreguidelines-narrowing-conversions,
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
-cppcoreguidelines-pro-bounds-constant-array-index,
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
-cppcoreguidelines-pro-type-reinterpret-cast,
-cppcoreguidelines-pro-type-static-cast-downcast,
-cppcoreguidelines-pro-type-union-access,
-cppcoreguidelines-rvalue-reference-param-not-moved,
-cppcoreguidelines-special-member-functions,
-google-build-using-namespace,
-misc-const-correctness,
-modernize-make-unique,
-modernize-use-emplace,
-modernize-use-nodiscard,
-modernize-use-trailing-return-type,
-readability-container-data-pointer,
-readability-convert-member-functions-to-static,
-readability-function-cognitive-complexity,
-readability-function-size,
-readability-identifier-length,
-readability-magic-numbers,
-readability-named-parameter,
-readability-redundant-member-init,
-readability-uppercase-literal-suffix,
-bugprone-suspicious-stringview-data-usage,
-modernize-use-designated-initializers,
-modernize-use-ranges,
-readability-math-missing-parentheses
WarningsAsErrors: "*"
HeaderFilterRegex: "\\./(archive|azm|browser|css|css2|dom|engine|etest|geom|gfx|html|html2|idna|img|js|layout|net|os|protocol|render|style|tui|type|unicode|uri|url|util|wasm)/"
CheckOptions:
# performance-move-const-arg
- key: performance-move-const-arg.CheckTriviallyCopyableMove
value: false
# readability-identifier-naming
# Classes, structs, ...
- key: readability-identifier-naming.NamespaceCase
value: lower_case
- key: readability-identifier-naming.ClassCase
value: CamelCase
- key: readability-identifier-naming.StructCase
value: CamelCase
- key: readability-identifier-naming.EnumCase
value: CamelCase
# Variables, member variables, ...
- key: readability-identifier-naming.ParameterCase
value: lower_case
- key: readability-identifier-naming.VariableCase
value: lower_case
- key: readability-identifier-naming.MemberCase
value: lower_case
- key: readability-identifier-naming.ProtectedMemberCase
value: lower_case
- key: readability-identifier-naming.ProtectedMemberSuffix
value: _
- key: readability-identifier-naming.PrivateMemberCase
value: lower_case
- key: readability-identifier-naming.PrivateMemberSuffix
value: _
# Functions, methods, ...
- key: readability-identifier-naming.FunctionCase
value: lower_case
- key: readability-identifier-naming.MethodCase
value: lower_case
- key: readability-identifier-naming.FunctionIgnoredRegexp
value: LLVMFuzzerTestOneInput
# Constants
- key: readability-identifier-naming.ConstantCase
value: lower_case
- key: readability-identifier-naming.ConstexprVariablePrefix
value: k
- key: readability-identifier-naming.ConstexprVariableCase
value: CamelCase
- key: readability-identifier-naming.EnumConstantCase
value: CamelCase
# misc-non-private-member-variables-in-classes
- key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
value: true