• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2024 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7#     https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15---
16UseColor: true
17
18Checks: >
19    bugprone-argument-comment,
20    bugprone-assert-side-effect,
21    bugprone-bool-pointer-implicit-conversion,
22    bugprone-dangling-handle,
23    bugprone-fold-init-type,
24    bugprone-forward-declaration-namespace,
25    bugprone-inaccurate-erase,
26    bugprone-macro-repeated-side-effects,
27    bugprone-move-forwarding-reference,
28    bugprone-multiple-statement-macro,
29    bugprone-string-constructor,
30    bugprone-suspicious-memset-usage,
31    bugprone-swapped-arguments,
32    bugprone-undefined-memory-manipulation,
33    bugprone-undelegated-constructor,
34    bugprone-unused-raii,
35    bugprone-use-after-move,
36    clang-diagnostic-*,
37    -clang-analyzer-*,
38    darwin-avoid-spinlock,
39    google-build-explicit-make-pair,
40    google-build-namespaces,
41    google-default-arguments,
42    google-global-names-in-headers,
43    google-readability-function-size,
44    google-readability-namespace-comments,
45    google-runtime-operator,
46    misc-static-assert,
47    misc-unconventional-assign-operator,
48    misc-unused-using-decls,
49    modernize-avoid-bind,
50    modernize-deprecated-ios-base-aliases,
51    modernize-make-shared,
52    modernize-make-unique,
53    modernize-replace-auto-ptr,
54    modernize-replace-disallow-copy-and-assign-macro,
55    modernize-replace-random-shuffle,
56    modernize-shrink-to-fit,
57    modernize-unary-static-assert,
58    modernize-use-bool-literals,
59    modernize-use-equals-delete,
60    modernize-use-noexcept,
61    modernize-use-nullptr,
62    modernize-use-override,
63    modernize-use-transparent-functors,
64    modernize-use-uncaught-exceptions,
65    performance-faster-string-find,
66    performance-for-range-copy,
67    performance-implicit-conversion-in-loop,
68    performance-inefficient-algorithm,
69    performance-inefficient-vector-operation,
70    performance-move-constructor-init,
71    readability-container-size-empty,
72    readability-inconsistent-declaration-parameter-name,
73    readability-misleading-indentation,
74    readability-redundant-control-flow,
75    readability-redundant-smartptr-get,
76    readability-string-compare,
77WarningsAsErrors: >
78    *,
79    -clang-diagnostic-deprecated-declarations,
80    -clang-diagnostic-unused-command-line-argument
81HeaderFilterRegex: '.*'
82ExcludeHeaderFilterRegex: 'external/.*'
83...
84
85# Disabled checks:
86#
87# clang-analyzer-*:
88#
89# performance-*
90# bugprone-*
91# cert-*
92# misc-*
93# readability-*
94#
95# Checks marked with @ should be reenabled first
96# (the effort is minimal).
97#
98# modernize-avoid-c-arrays:
99# @ modernize-concat-nested-namespaces:
100#   Note: added in c++17
101# modernize-deprecated-headers:
102#   Advises to use <cheader> instead of <header.h> for
103#   legacy headers
104# modernize-loop-convert:
105# @ modernize-pass-by-value:
106# @ modernize-raw-string-literal:
107#   Note: added in c++11
108# @ modernize-redundant-void-arg:
109# modernize-return-braced-init-list:
110# @ modernize-use-auto:
111#   Advises to use auto when initializing with a cast to
112#   avoid duplicating the type name
113# modernize-use-default-member-init:
114#   Note: added in c++11
115#   Advises to use a default initializer in
116#   member declarations
117# @ modernize-use-emplace:
118# @ modernize-use-equals-default:
119#   Note: added in c++11
120#   Advises to use '= default' for empty constructors or
121#   destructors '{}'
122# modernize-use-nodiscard:
123#   Note: added in c++17
124# @ modernize-use-override:
125# modernize-use-trailing-return-type:
126#   Note: added in c++11
127#   Used to delay the writing of the return type
128#   to after the function parameters; does not make
129#   sense to generalise its use.
130# modernize-use-using:
131#   Note: added in c++11
132#   Advises to use 'using' instead of 'typedef'
133