ff64f65e
Robin Linden
---
06462f25
Robin Linden
# -bugprone-easily-swappable-parameters: Noisy, and there are other checks that
06462f25
Robin Linden
# catch things like suspicious call arguments.
06462f25
Robin Linden
#
3e7dc5ed
Robin Linden
# -bugprone-exception-escape: We don't use exceptions and will be building with
3e7dc5ed
Robin Linden
# -fno-exceptions soon.
3e7dc5ed
Robin Linden
#
3e7dc5ed
Robin Linden
# -bugprone-narrowing-conversions: Very noisy for not much gain.
3e7dc5ed
Robin Linden
#
80ec6c2f
Robin Linden
# -cppcoreguidelines-[...]: TODO(robinlidnen): Investigate.
80ec6c2f
Robin Linden
#
64ee58a2
Robin Linden
# -google-build-using-namespace: We use `using namespace` in tests and for std::literals.
64ee58a2
Robin Linden
#
96f5de60
Robin Linden
# -misc-const-correctness: Consts some things that can't be const, and very very noisy.
96f5de60
Robin Linden
#
e2a720a0
Robin Linden
# -modernize-make-unique, -modernize-use-emplace: Clang doesn't implement p0960
e2a720a0
Robin Linden
# yet, and we're not adding c-tors to all our structs.
e2a720a0
Robin Linden
#
e2a720a0
Robin Linden
# -modernize-use-nodiscard: Very noisy, and probably more meaningful if we only
e2a720a0
Robin Linden
# add it where it matters.
e2a720a0
Robin Linden
#
e2a720a0
Robin Linden
# -modernize-use-trailing-return-type: Stylistic change, and something we
e2a720a0
Robin Linden
# haven't been doing so far.
ee1b7754
Robin Linden
#
ee1b7754
Robin Linden
# -readability-container-data-pointer: We actually want a pointer to the first element.
ee1b7754
Robin Linden
#
ee1b7754
Robin Linden
# -readability-convert-member-functions-to-static: Makes some APIs confusing, especially when
ee1b7754
Robin Linden
# used in combination with readability-static-accessed-through-instance.
ee1b7754
Robin Linden
#
ee1b7754
Robin Linden
# -readability-function-cognitive-complexity: TODO(robinlinden): Investigate. Maybe case-by-case.
ee1b7754
Robin Linden
#
ee1b7754
Robin Linden
# -readability-function-size: TODO(robinlinden): Investigate. Maybe case-by-case.
ee1b7754
Robin Linden
#
ee1b7754
Robin Linden
# -readability-identifier-length: Requiring at least 3 characters for identifiers is silly.
ee1b7754
Robin Linden
#
ee1b7754
Robin Linden
# -readability-magic-numbers: Things implemented from specs and unit tests
ee1b7754
Robin Linden
# contain a lot of magic numbers.
ee1b7754
Robin Linden
#
ee1b7754
Robin Linden
# -readability-named-parameter: Leaving out argument names is fine where it doesn't add anything.
ee1b7754
Robin Linden
#
a3a61d74
Robin Linden
# TODO(robinlinden): Investigate.
a3a61d74
Robin Linden
# -readability-redundant-member-init
a3a61d74
Robin Linden
# -readability-uppercase-literal-suffix
a3a61d74
Robin Linden
# -bugprone-suspicious-stringview-data-usage
a3a61d74
Robin Linden
# -modernize-use-designated-initializers
a3a61d74
Robin Linden
# -modernize-use-ranges
a3a61d74
Robin Linden
# -readability-math-missing-parentheses
ff64f65e
Robin Linden
Checks: >
3e7dc5ed
Robin Linden
bugprone-*,
118e341c
Robin Linden
cert-*,
00d04fd8
Robin Linden
concurrency-*,
80ec6c2f
Robin Linden
cppcoreguidelines-*,
64ee58a2
Robin Linden
google-*,
ff64f65e
Robin Linden
misc-*,
e2a720a0
Robin Linden
modernize-*,
53568742
Robin Linden
performance-*,
ee1b7754
Robin Linden
readability-*,
8d86525b
Robin Linden
readability-avoid-unconditional-preprocessor-if,
06462f25
Robin Linden
-bugprone-easily-swappable-parameters,
3e7dc5ed
Robin Linden
-bugprone-exception-escape,
3e7dc5ed
Robin Linden
-bugprone-narrowing-conversions,
80ec6c2f
Robin Linden
-cppcoreguidelines-avoid-const-or-ref-data-members,
80ec6c2f
Robin Linden
-cppcoreguidelines-avoid-do-while,
80ec6c2f
Robin Linden
-cppcoreguidelines-avoid-magic-numbers,
80ec6c2f
Robin Linden
-cppcoreguidelines-narrowing-conversions,
80ec6c2f
Robin Linden
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
80ec6c2f
Robin Linden
-cppcoreguidelines-pro-bounds-constant-array-index,
80ec6c2f
Robin Linden
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
80ec6c2f
Robin Linden
-cppcoreguidelines-pro-type-reinterpret-cast,
80ec6c2f
Robin Linden
-cppcoreguidelines-pro-type-static-cast-downcast,
80ec6c2f
Robin Linden
-cppcoreguidelines-pro-type-union-access,
80ec6c2f
Robin Linden
-cppcoreguidelines-rvalue-reference-param-not-moved,
80ec6c2f
Robin Linden
-cppcoreguidelines-special-member-functions,
64ee58a2
Robin Linden
-google-build-using-namespace,
96f5de60
Robin Linden
-misc-const-correctness,
e2a720a0
Robin Linden
-modernize-make-unique,
e2a720a0
Robin Linden
-modernize-use-emplace,
e2a720a0
Robin Linden
-modernize-use-nodiscard,
ee1b7754
Robin Linden
-modernize-use-trailing-return-type,
ee1b7754
Robin Linden
-readability-container-data-pointer,
ee1b7754
Robin Linden
-readability-convert-member-functions-to-static,
ee1b7754
Robin Linden
-readability-function-cognitive-complexity,
ee1b7754
Robin Linden
-readability-function-size,
ee1b7754
Robin Linden
-readability-identifier-length,
ee1b7754
Robin Linden
-readability-magic-numbers,
ee1b7754
Robin Linden
-readability-named-parameter,
ee1b7754
Robin Linden
-readability-redundant-member-init,
a3a61d74
Robin Linden
-readability-uppercase-literal-suffix,
a3a61d74
Robin Linden
-bugprone-suspicious-stringview-data-usage,
a3a61d74
Robin Linden
-modernize-use-designated-initializers,
a3a61d74
Robin Linden
-modernize-use-ranges,
a3a61d74
Robin Linden
-readability-math-missing-parentheses
ff64f65e
Robin Linden
8be61c77
Robin Linden
WarningsAsErrors: "*"
ff64f65e
Robin Linden
ac2f76d8
Robin Linden
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)/"
0e850a6b
Robin Linden
0e850a6b
Robin Linden
CheckOptions:
63358146
Robin Linden
# performance-move-const-arg
63358146
Robin Linden
- key: performance-move-const-arg.CheckTriviallyCopyableMove
63358146
Robin Linden
value: false
63358146
Robin Linden
0e850a6b
Robin Linden
# readability-identifier-naming
0e850a6b
Robin Linden
# Classes, structs, ...
0e850a6b
Robin Linden
- key: readability-identifier-naming.NamespaceCase
0e850a6b
Robin Linden
value: lower_case
0e850a6b
Robin Linden
- key: readability-identifier-naming.ClassCase
0e850a6b
Robin Linden
value: CamelCase
0e850a6b
Robin Linden
- key: readability-identifier-naming.StructCase
0e850a6b
Robin Linden
value: CamelCase
0e850a6b
Robin Linden
- key: readability-identifier-naming.EnumCase
0e850a6b
Robin Linden
value: CamelCase
0e850a6b
Robin Linden
0e850a6b
Robin Linden
# Variables, member variables, ...
0e850a6b
Robin Linden
- key: readability-identifier-naming.ParameterCase
0e850a6b
Robin Linden
value: lower_case
0e850a6b
Robin Linden
- key: readability-identifier-naming.VariableCase
0e850a6b
Robin Linden
value: lower_case
0e850a6b
Robin Linden
- key: readability-identifier-naming.MemberCase
0e850a6b
Robin Linden
value: lower_case
0e850a6b
Robin Linden
- key: readability-identifier-naming.ProtectedMemberCase
0e850a6b
Robin Linden
value: lower_case
0e850a6b
Robin Linden
- key: readability-identifier-naming.ProtectedMemberSuffix
0e850a6b
Robin Linden
value: _
0e850a6b
Robin Linden
- key: readability-identifier-naming.PrivateMemberCase
0e850a6b
Robin Linden
value: lower_case
0e850a6b
Robin Linden
- key: readability-identifier-naming.PrivateMemberSuffix
0e850a6b
Robin Linden
value: _
0e850a6b
Robin Linden
0e850a6b
Robin Linden
# Functions, methods, ...
0e850a6b
Robin Linden
- key: readability-identifier-naming.FunctionCase
0e850a6b
Robin Linden
value: lower_case
0e850a6b
Robin Linden
- key: readability-identifier-naming.MethodCase
0e850a6b
Robin Linden
value: lower_case
b8c120f7
Robin Linden
- key: readability-identifier-naming.FunctionIgnoredRegexp
b8c120f7
Robin Linden
value: LLVMFuzzerTestOneInput
0e850a6b
Robin Linden
0e850a6b
Robin Linden
# Constants
0e850a6b
Robin Linden
- key: readability-identifier-naming.ConstantCase
4e955d2a
Robin Linden
value: lower_case
4e955d2a
Robin Linden
- key: readability-identifier-naming.ConstexprVariablePrefix
4e955d2a
Robin Linden
value: k
4e955d2a
Robin Linden
- key: readability-identifier-naming.ConstexprVariableCase
4e955d2a
Robin Linden
value: CamelCase
0e850a6b
Robin Linden
- key: readability-identifier-naming.EnumConstantCase
0e850a6b
Robin Linden
value: CamelCase
ff62f33f
Robin Linden
ff62f33f
Robin Linden
# misc-non-private-member-variables-in-classes
ff62f33f
Robin Linden
- key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
ff62f33f
Robin Linden
value: true