blob: 48fc64c491dbc26cdf2187eacf054cc58c529468 [file] [log] [blame]
# Copyright 2024 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
---
Checks: >
bugprone-argument-comment,
bugprone-assert-side-effect,
bugprone-bool-pointer-implicit-conversion,
bugprone-dangling-handle,
bugprone-fold-init-type,
bugprone-forward-declaration-namespace,
bugprone-inaccurate-erase,
bugprone-macro-repeated-side-effects,
bugprone-move-forwarding-reference,
bugprone-multiple-statement-macro,
bugprone-string-constructor,
bugprone-suspicious-memset-usage,
bugprone-swapped-arguments,
bugprone-undefined-memory-manipulation,
bugprone-undelegated-constructor,
bugprone-unused-raii,
bugprone-use-after-move,
clang-diagnostic-*,
-clang-analyzer-*,
darwin-avoid-spinlock,
google-build-explicit-make-pair,
google-build-namespaces,
google-default-arguments,
google-global-names-in-headers,
google-readability-function-size,
google-readability-namespace-comments,
google-runtime-operator,
misc-static-assert,
misc-unconventional-assign-operator,
misc-unused-using-decls,
modernize-avoid-bind,
modernize-deprecated-ios-base-aliases,
modernize-make-shared,
modernize-make-unique,
modernize-replace-auto-ptr,
modernize-replace-disallow-copy-and-assign-macro,
modernize-replace-random-shuffle,
modernize-shrink-to-fit,
modernize-unary-static-assert,
modernize-use-bool-literals,
modernize-use-equals-delete,
modernize-use-noexcept,
modernize-use-nullptr,
modernize-use-override,
modernize-use-transparent-functors,
modernize-use-uncaught-exceptions,
performance-faster-string-find,
performance-for-range-copy,
performance-implicit-conversion-in-loop,
performance-inefficient-algorithm,
performance-inefficient-vector-operation,
performance-move-constructor-init,
readability-container-size-empty,
readability-inconsistent-declaration-parameter-name,
readability-misleading-indentation,
readability-redundant-control-flow,
readability-redundant-smartptr-get,
readability-string-compare,
WarningsAsErrors: >
*,
-clang-diagnostic-unused-command-line-argument
HeaderFilterRegex: '.*'
...
# Disabled checks:
#
# clang-analyzer-*:
#
# performance-*
# bugprone-*
# cert-*
# misc-*
# readability-*
#
# Checks marked with @ should be reenabled first
# (the effort is minimal).
#
# modernize-avoid-c-arrays:
# @ modernize-concat-nested-namespaces:
# Note: added in c++17
# modernize-deprecated-headers:
# Advises to use <cheader> instead of <header.h> for
# legacy headers
# modernize-loop-convert:
# @ modernize-pass-by-value:
# @ modernize-raw-string-literal:
# Note: added in c++11
# @ modernize-redundant-void-arg:
# modernize-return-braced-init-list:
# @ modernize-use-auto:
# Advises to use auto when initializing with a cast to
# avoid duplicating the type name
# modernize-use-default-member-init:
# Note: added in c++11
# Advises to use a default initializer in
# member declarations
# @ modernize-use-emplace:
# @ modernize-use-equals-default:
# Note: added in c++11
# Advises to use '= default' for empty constructors or
# destructors '{}'
# modernize-use-nodiscard:
# Note: added in c++17
# @ modernize-use-override:
# modernize-use-trailing-return-type:
# Note: added in c++11
# Used to delay the writing of the return type
# to after the function parameters; does not make
# sense to generalise its use.
# modernize-use-using:
# Note: added in c++11
# Advises to use 'using' instead of 'typedef'