Code Inspections in C++
In C++, JetBrains Rider 2023.2 provides two kinds of code inspections: 314 inspections that detect errors such as broken syntax, unresolved symbols, compiler errors, and so on (you cannot configure or disable any of these inspections), and 1564 proprietary code inspections, any of which you can disable or change its severity level.
These code inspections help you detect code issues in design time in all open files, and additionally they allow you to find code issues in specific scope.
Configurable C++ inspections are listed below, grouped by their categories.
.NET Core (1 inspection)
Inspection | |
---|---|
Delegate constructors with a member pointer parameter are unsupported by .NET Core |
Clang Diagnostics (806 inspections)
Inspections in this category correspond to Clang compiler warnings integrated with JetBrains Rider.
Inspection | |
---|---|
#pragma-messages clang diagnostic | |
| |
absolute-value clang diagnostic | |
abstract-final-class clang diagnostic | |
abstract-vbase-init clang diagnostic | |
address-of-packed-member clang diagnostic | |
address-of-temporary clang diagnostic | |
| |
align-mismatch clang diagnostic | |
| |
alloca-with-align-alignof clang diagnostic | |
always-inline-coroutine clang diagnostic | |
ambiguous-delete clang diagnostic | |
ambiguous-ellipsis clang diagnostic | |
ambiguous-macro clang diagnostic | |
ambiguous-member-template clang diagnostic | |
ambiguous-reversed-operator clang diagnostic | |
analyzer-incompatible-plugin clang diagnostic | |
anon-enum-enum-conversion clang diagnostic | |
anonymous-pack-parens clang diagnostic | |
arc-bridge-casts-disallowed-in-nonarc clang diagnostic | |
arc-maybe-repeated-use-of-weak clang diagnostic | |
arc-non-pod-memaccess clang diagnostic | |
arc-performSelector-leaks clang diagnostic | |
arc-repeated-use-of-weak clang diagnostic | |
arc-retain-cycles clang diagnostic | |
arc-unsafe-retained-assign clang diagnostic | |
argument-outside-range clang diagnostic | |
argument-undefined-behaviour clang diagnostic | |
| |
array-bounds-pointer-arithmetic clang diagnostic | |
array-parameter clang diagnostic | |
asm-operand-widths clang diagnostic | |
| |
| |
atimport-in-framework-header clang diagnostic | |
atomic-access clang diagnostic | |
atomic-alignment clang diagnostic | |
atomic-implicit-seq-cst clang diagnostic | |
atomic-memory-ordering clang diagnostic | |
atomic-property-with-user-defined-accessor clang diagnostic | |
| |
attribute-packed-for-bitfield clang diagnostic | |
attribute-warning clang diagnostic | |
auto-disable-vptr-sanitizer clang diagnostic | |
| |
auto-storage-class clang diagnostic | |
| |
| |
avr-rtlib-linking-quirks clang diagnostic | |
backslash-newline-escape clang diagnostic | |
bad-function-cast clang diagnostic | |
binding-in-condition clang diagnostic | |
bind-to-temporary-copy clang diagnostic | |
bitfield-constant-conversion clang diagnostic | |
bitfield-enum-conversion clang diagnostic | |
bitfield-width clang diagnostic | |
bit-int-extension clang diagnostic | |
bitwise-conditional-parentheses clang diagnostic | |
bitwise-instead-of-logical clang diagnostic | |
bitwise-op-parentheses clang diagnostic | |
block-capture-autoreleasing clang diagnostic | |
bool-conversion clang diagnostic | |
bool-operation clang diagnostic | |
braced-scalar-init clang diagnostic | |
branch-protection clang diagnostic | |
| |
builtin-assume-aligned-alignment clang diagnostic | |
builtin-macro-redefined clang diagnostic | |
builtin-memcpy-chk-size clang diagnostic | |
builtin-requires-header clang diagnostic | |
| |
c++11-compat-deprecated-writable-strings clang diagnostic | |
c++11-compat-pedantic clang diagnostic | |
c++11-compat-reserved-user-defined-literal clang diagnostic | |
c++11-extensions clang diagnostic | |
c++11-extra-semi clang diagnostic | |
c++11-inline-namespace clang diagnostic | |
c++11-long-long clang diagnostic | |
c++11-narrowing clang diagnostic | |
c++14-attribute-extensions clang diagnostic | |
c++14-binary-literal clang diagnostic | |
| |
c++14-compat-pedantic clang diagnostic | |
c++14-extensions clang diagnostic | |
c++17-attribute-extensions clang diagnostic | |
| |
c++17-compat-mangling clang diagnostic | |
c++17-compat-pedantic clang diagnostic | |
c++17-extensions clang diagnostic | |
c++20-attribute-extensions clang diagnostic | |
| |
c++20-compat-pedantic clang diagnostic | |
c++20-designator clang diagnostic | |
c++20-extensions clang diagnostic | |
c++2a-compat-pedantic clang diagnostic | |
c++2a-extensions clang diagnostic | |
c++2b-extensions clang diagnostic | |
c++98-c++11-c++14-c++17-compat clang diagnostic | |
c++98-c++11-c++14-c++17-compat-pedantic clang diagnostic | |
c++98-c++11-c++14-compat clang diagnostic | |
c++98-c++11-c++14-compat-pedantic clang diagnostic | |
c++98-c++11-compat clang diagnostic | |
c++98-c++11-compat-binary-literal clang diagnostic | |
c++98-c++11-compat-pedantic clang diagnostic | |
| |
c++98-compat-bind-to-temporary-copy clang diagnostic | |
c++98-compat-extra-semi clang diagnostic | |
c++98-compat-local-type-template-args clang diagnostic | |
c++98-compat-pedantic clang diagnostic | |
c++98-compat-unnamed-type-template-args clang diagnostic | |
| |
c11-extensions clang diagnostic | |
| |
c2x-extensions clang diagnostic | |
| |
c99-designator clang diagnostic | |
c99-extensions clang diagnostic | |
called-once-parameter clang diagnostic | |
call-to-pure-virtual-from-ctor-dtor clang diagnostic | |
| |
cast-calling-convention clang diagnostic | |
cast-function-type clang diagnostic | |
cast-function-type-strict clang diagnostic | |
cast-of-sel-type clang diagnostic | |
| |
cast-qual-unrelated clang diagnostic | |
CFString-literal clang diagnostic | |
char-subscripts clang diagnostic | |
Clang compiler error | |
| |
class-conversion clang diagnostic | |
class-varargs clang diagnostic | |
cmse-union-leak clang diagnostic | |
| |
| |
compare-distinct-pointer-types clang diagnostic | |
completion-handler clang diagnostic | |
complex-component-init clang diagnostic | |
compound-token-split clang diagnostic | |
compound-token-split-by-macro clang diagnostic | |
compound-token-split-by-space clang diagnostic | |
conditional-type-mismatch clang diagnostic | |
conditional-uninitialized clang diagnostic | |
config-macros clang diagnostic | |
constant-conversion clang diagnostic | |
constant-evaluated clang diagnostic | |
constant-logical-operand clang diagnostic | |
constexpr-not-const clang diagnostic | |
| |
| |
coro-non-aligned-allocation-funciton clang diagnostic | |
coroutine-missing-unhandled-exception clang diagnostic | |
covered-switch-default clang diagnostic | |
cstring-format-directive clang diagnostic | |
ctad-maybe-unsupported clang diagnostic | |
| |
| |
custom-atomic-properties clang diagnostic | |
cxx-attribute-extension clang diagnostic | |
| |
dangling-else clang diagnostic | |
dangling-field clang diagnostic | |
| |
dangling-initializer-list clang diagnostic | |
darwin-sdk-settings clang diagnostic | |
| |
dealloc-in-category clang diagnostic | |
debug-compression-unavailable clang diagnostic | |
declaration-after-statement clang diagnostic | |
defaulted-function-deleted clang diagnostic | |
delegating-ctor-cycles clang diagnostic | |
delete-abstract-non-virtual-dtor clang diagnostic | |
delete-incomplete clang diagnostic | |
delete-non-abstract-non-virtual-dtor clang diagnostic | |
delete-non-virtual-dtor clang diagnostic | |
delimited-escape-sequence-extension clang diagnostic | |
| |
deprecated-altivec-src-compat clang diagnostic | |
deprecated-anon-enum-enum-conversion clang diagnostic | |
deprecated-array-compare clang diagnostic | |
deprecated-attributes clang diagnostic | |
deprecated-builtins clang diagnostic | |
deprecated-comma-subscript clang diagnostic | |
deprecated-copy clang diagnostic | |
deprecated-copy-with-dtor clang diagnostic | |
deprecated-copy-with-user-provided-copy clang diagnostic | |
deprecated-copy-with-user-provided-dtor clang diagnostic | |
deprecated-coroutine clang diagnostic | |
deprecated-declarations clang diagnostic | |
deprecated-dynamic-exception-spec clang diagnostic | |
deprecated-enum-compare clang diagnostic | |
deprecated-enum-compare-conditional clang diagnostic | |
deprecated-enum-enum-conversion clang diagnostic | |
deprecated-enum-float-conversion clang diagnostic | |
deprecated-experimental-coroutine clang diagnostic | |
deprecated-implementations clang diagnostic | |
deprecated-increment-bool clang diagnostic | |
deprecated-module-ts clang diagnostic | |
deprecated-non-prototype clang diagnostic | |
deprecated-objc-isa-usage clang diagnostic | |
deprecated-objc-pointer-introspection clang diagnostic | |
deprecated-objc-pointer-introspection-performSelector clang diagnostic | |
deprecated-pragma clang diagnostic | |
deprecated-register clang diagnostic | |
deprecated-static-analyzer-flag clang diagnostic | |
deprecated-this-capture clang diagnostic | |
deprecated-type clang diagnostic | |
deprecated-volatile clang diagnostic | |
deprecate-lax-vec-conv-all clang diagnostic | |
direct-ivar-access clang diagnostic | |
disabled-macro-expansion clang diagnostic | |
distributed-object-modifiers clang diagnostic | |
division-by-zero clang diagnostic | |
dll-attribute-on-redeclaration clang diagnostic | |
dllexport-explicit-instantiation-decl clang diagnostic | |
dllimport-static-field-def clang diagnostic | |
documentation clang diagnostic | |
documentation-deprecated-sync clang diagnostic | |
documentation-html clang diagnostic | |
documentation-pedantic clang diagnostic | |
documentation-unknown-command clang diagnostic | |
dollar-in-identifier-extension clang diagnostic | |
double-promotion clang diagnostic | |
| |
| |
duplicate-decl-specifier clang diagnostic | |
duplicate-enum clang diagnostic | |
duplicate-method-arg clang diagnostic | |
duplicate-method-match clang diagnostic | |
duplicate-protocol clang diagnostic | |
dynamic-class-memaccess clang diagnostic | |
dynamic-exception-spec clang diagnostic | |
embedded-directive clang diagnostic | |
| |
empty-decomposition clang diagnostic | |
empty-init-stmt clang diagnostic | |
empty-translation-unit clang diagnostic | |
| |
| |
enum-compare-conditional clang diagnostic | |
enum-compare-switch clang diagnostic | |
enum-constexpr-conversion clang diagnostic | |
enum-conversion clang diagnostic | |
enum-enum-conversion clang diagnostic | |
enum-float-conversion clang diagnostic | |
enum-too-large clang diagnostic | |
| |
excess-initializers clang diagnostic | |
exit-time-destructors clang diagnostic | |
expansion-to-defined clang diagnostic | |
explicit-initialize-call clang diagnostic | |
explicit-ownership-type clang diagnostic | |
export-unnamed clang diagnostic | |
export-using-directive clang diagnostic | |
extern-c-compat clang diagnostic | |
extern-initializer clang diagnostic | |
extra-qualification clang diagnostic | |
| |
extra-semi-stmt clang diagnostic | |
| |
final-dtor-non-final-class clang diagnostic | |
| |
fixed-enum-extension clang diagnostic | |
fixed-point-overflow clang diagnostic | |
| |
flexible-array-extensions clang diagnostic | |
float-conversion clang diagnostic | |
| |
float-overflow-conversion clang diagnostic | |
float-zero-conversion clang diagnostic | |
for-loop-analysis clang diagnostic | |
| |
format-extra-args clang diagnostic | |
format-insufficient-args clang diagnostic | |
format-invalid-specifier clang diagnostic | |
format-non-iso clang diagnostic | |
format-nonliteral clang diagnostic | |
format-pedantic clang diagnostic | |
format-security clang diagnostic | |
format-type-confusion clang diagnostic | |
format-zero-length clang diagnostic | |
fortify-source clang diagnostic | |
four-char-constants clang diagnostic | |
frame-address clang diagnostic | |
frame-larger-than clang diagnostic | |
framework-include-private-from-public clang diagnostic | |
free-nonheap-object clang diagnostic | |
function-def-in-objc-container clang diagnostic | |
function-multiversion clang diagnostic | |
future-attribute-extensions clang diagnostic | |
| |
global-constructors clang diagnostic | |
| |
gnu-alignof-expression clang diagnostic | |
gnu-anonymous-struct clang diagnostic | |
gnu-array-member-paren-init clang diagnostic | |
gnu-auto-type clang diagnostic | |
gnu-binary-literal clang diagnostic | |
gnu-case-range clang diagnostic | |
gnu-complex-integer clang diagnostic | |
gnu-compound-literal-initializer clang diagnostic | |
gnu-conditional-omitted-operand clang diagnostic | |
gnu-designator clang diagnostic | |
gnu-empty-initializer clang diagnostic | |
gnu-empty-struct clang diagnostic | |
gnu-flexible-array-initializer clang diagnostic | |
gnu-flexible-array-union-member clang diagnostic | |
gnu-folding-constant clang diagnostic | |
gnu-imaginary-constant clang diagnostic | |
gnu-include-next clang diagnostic | |
gnu-inline-cpp-without-extern clang diagnostic | |
gnu-label-as-value clang diagnostic | |
gnu-line-marker clang diagnostic | |
gnu-null-pointer-arithmetic clang diagnostic | |
gnu-offsetof-extensions clang diagnostic | |
gnu-pointer-arith clang diagnostic | |
gnu-redeclared-enum clang diagnostic | |
gnu-statement-expression clang diagnostic | |
gnu-statement-expression-from-macro-expansion clang diagnostic | |
gnu-static-float-init clang diagnostic | |
gnu-string-literal-operator-template clang diagnostic | |
gnu-union-cast clang diagnostic | |
gnu-variable-sized-type-not-at-end clang diagnostic | |
gnu-zero-variadic-macro-arguments clang diagnostic | |
gpu-maybe-wrong-side clang diagnostic | |
| |
header-hygiene clang diagnostic | |
| |
hlsl-extensions clang diagnostic | |
idiomatic-parentheses clang diagnostic | |
ignored-attributes clang diagnostic | |
ignored-availability-without-sdk-settings clang diagnostic | |
ignored-optimization-argument clang diagnostic | |
ignored-pragma-intrinsic clang diagnostic | |
ignored-pragma-optimize clang diagnostic | |
ignored-pragmas clang diagnostic | |
ignored-qualifiers clang diagnostic | |
ignored-reference-qualifiers clang diagnostic | |
implicit-atomic-properties clang diagnostic | |
implicit-const-int-float-conversion clang diagnostic | |
implicit-conversion-floating-point-to-bool clang diagnostic | |
implicit-exception-spec-mismatch clang diagnostic | |
implicit-fallthrough clang diagnostic | |
implicit-fallthrough-per-function clang diagnostic | |
implicit-fixed-point-conversion clang diagnostic | |
implicit-float-conversion clang diagnostic | |
implicit-function-declaration clang diagnostic | |
| |
implicit-int-conversion clang diagnostic | |
implicit-int-float-conversion clang diagnostic | |
implicitly-unsigned-literal clang diagnostic | |
implicit-retain-self clang diagnostic | |
import-preprocessor-directive-pedantic clang diagnostic | |
inaccessible-base clang diagnostic | |
include-next-absolute-path clang diagnostic | |
include-next-outside-header clang diagnostic | |
incompatible-exception-spec clang diagnostic | |
incompatible-function-pointer-types clang diagnostic | |
incompatible-function-pointer-types-strict clang diagnostic | |
incompatible-library-redeclaration clang diagnostic | |
incompatible-ms-struct clang diagnostic | |
incompatible-pointer-types clang diagnostic | |
incompatible-pointer-types-discards-qualifiers clang diagnostic | |
incompatible-property-type clang diagnostic | |
incompatible-sysroot clang diagnostic | |
incomplete-framework-module-declaration clang diagnostic | |
incomplete-implementation clang diagnostic | |
incomplete-module clang diagnostic | |
incomplete-setjmp-declaration clang diagnostic | |
incomplete-umbrella clang diagnostic | |
inconsistent-dllimport clang diagnostic | |
inconsistent-missing-destructor-override clang diagnostic | |
inconsistent-missing-override clang diagnostic | |
increment-bool clang diagnostic | |
IndependentClass-attribute clang diagnostic | |
infinite-recursion clang diagnostic | |
initializer-overrides clang diagnostic | |
injected-class-name clang diagnostic | |
| |
inline-namespace-reopened-noninline clang diagnostic | |
inline-new-delete clang diagnostic | |
instantiation-after-specialization clang diagnostic | |
int-conversion clang diagnostic | |
integer-overflow clang diagnostic | |
interrupt-service-routine clang diagnostic | |
int-in-bool-context clang diagnostic | |
int-to-pointer-cast clang diagnostic | |
int-to-void-pointer-cast clang diagnostic | |
invalid-constexpr clang diagnostic | |
invalid-iboutlet clang diagnostic | |
invalid-initializer-from-system-header clang diagnostic | |
invalid-ios-deployment-target clang diagnostic | |
invalid-no-builtin-names clang diagnostic | |
invalid-noreturn clang diagnostic | |
invalid-offsetof clang diagnostic | |
invalid-or-nonexistent-directory clang diagnostic | |
invalid-partial-specialization clang diagnostic | |
invalid-pp-token clang diagnostic | |
invalid-source-encoding clang diagnostic | |
invalid-token-paste clang diagnostic | |
| |
jump-seh-finally clang diagnostic | |
keyword-compat clang diagnostic | |
keyword-macro clang diagnostic | |
knr-promoted-parameter clang diagnostic | |
language-extension-token clang diagnostic | |
large-by-value-copy clang diagnostic | |
linker-warnings clang diagnostic | |
literal-conversion clang diagnostic | |
literal-range clang diagnostic | |
local-type-template-args clang diagnostic | |
logical-not-parentheses clang diagnostic | |
logical-op-parentheses clang diagnostic | |
| |
macro-redefined clang diagnostic | |
| |
main-return-type clang diagnostic | |
malformed-warning-check clang diagnostic | |
many-braces-around-scalar-init clang diagnostic | |
mathematical-notation-identifier-extension clang diagnostic | |
| |
max-unsigned-zero clang diagnostic | |
memset-transposed-args clang diagnostic | |
memsize-comparison clang diagnostic | |
method-signatures clang diagnostic | |
microsoft-abstract clang diagnostic | |
microsoft-anon-tag clang diagnostic | |
microsoft-cast clang diagnostic | |
microsoft-charize clang diagnostic | |
microsoft-comment-paste clang diagnostic | |
microsoft-const-init clang diagnostic | |
microsoft-cpp-macro clang diagnostic | |
microsoft-default-arg-redefinition clang diagnostic | |
microsoft-drectve-section clang diagnostic | |
microsoft-end-of-file clang diagnostic | |
microsoft-enum-forward-reference clang diagnostic | |
microsoft-enum-value clang diagnostic | |
microsoft-exception-spec clang diagnostic | |
microsoft-exists clang diagnostic | |
microsoft-explicit-constructor-call clang diagnostic | |
microsoft-extra-qualification clang diagnostic | |
microsoft-fixed-enum clang diagnostic | |
microsoft-flexible-array clang diagnostic | |
microsoft-goto clang diagnostic | |
microsoft-inaccessible-base clang diagnostic | |
microsoft-include clang diagnostic | |
microsoft-mutable-reference clang diagnostic | |
microsoft-pure-definition clang diagnostic | |
microsoft-redeclare-static clang diagnostic | |
microsoft-sealed clang diagnostic | |
microsoft-static-assert clang diagnostic | |
microsoft-template clang diagnostic | |
microsoft-template-shadow clang diagnostic | |
microsoft-union-member-reference clang diagnostic | |
microsoft-unqualified-friend clang diagnostic | |
microsoft-using-decl clang diagnostic | |
microsoft-void-pseudo-dtor clang diagnostic | |
| |
misleading-indentation clang diagnostic | |
mismatched-new-delete clang diagnostic | |
mismatched-parameter-types clang diagnostic | |
mismatched-return-types clang diagnostic | |
mismatched-tags clang diagnostic | |
missing-braces clang diagnostic | |
missing-constinit clang diagnostic | |
missing-declarations clang diagnostic | |
missing-exception-spec clang diagnostic | |
missing-field-initializers clang diagnostic | |
missing-method-return-type clang diagnostic | |
missing-noescape clang diagnostic | |
missing-noreturn clang diagnostic | |
missing-prototype-for-cc clang diagnostic | |
missing-prototypes clang diagnostic | |
missing-selector-name clang diagnostic | |
missing-sysroot clang diagnostic | |
missing-variable-declarations clang diagnostic | |
misspelled-assumption clang diagnostic | |
module-conflict clang diagnostic | |
module-file-config-mismatch clang diagnostic | |
module-file-extension clang diagnostic | |
module-import-in-extern-c clang diagnostic | |
modules-ambiguous-internal-linkage clang diagnostic | |
modules-import-nested-redundant clang diagnostic | |
msvc-not-found clang diagnostic | |
| |
multiple-move-vbase clang diagnostic | |
nested-anon-types clang diagnostic | |
| |
new-returns-null clang diagnostic | |
| |
non-c-typedef-for-linkage clang diagnostic | |
non-literal-null-conversion clang diagnostic | |
non-modular-include-in-framework-module clang diagnostic | |
non-modular-include-in-module clang diagnostic | |
| |
non-pod-varargs clang diagnostic | |
nonportable-include-path clang diagnostic | |
nonportable-system-include-path clang diagnostic | |
nonportable-vector-initialization clang diagnostic | |
non-power-of-two-alignment clang diagnostic | |
nontrivial-memaccess clang diagnostic | |
non-virtual-dtor clang diagnostic | |
nsconsumed-mismatch clang diagnostic | |
NSObject-attribute clang diagnostic | |
nsreturns-mismatch clang diagnostic | |
| |
nullability-completeness clang diagnostic | |
nullability-completeness-on-arrays clang diagnostic | |
nullability-declspec clang diagnostic | |
nullability-extension clang diagnostic | |
nullability-inferred-on-nested-type clang diagnostic | |
nullable-to-nonnull-conversion clang diagnostic | |
null-arithmetic clang diagnostic | |
null-character clang diagnostic | |
null-conversion clang diagnostic | |
null-dereference clang diagnostic | |
null-pointer-arithmetic clang diagnostic | |
null-pointer-subtraction clang diagnostic | |
| |
old-style-cast clang diagnostic | |
opencl-unsupported-rgba clang diagnostic | |
openmp-51-extensions clang diagnostic | |
openmp-clauses clang diagnostic | |
openmp-loop-form clang diagnostic | |
openmp-mapping clang diagnostic | |
openmp-target clang diagnostic | |
option-ignored clang diagnostic | |
ordered-compare-function-pointers clang diagnostic | |
out-of-line-declaration clang diagnostic | |
out-of-scope-function clang diagnostic | |
| |
overlength-strings clang diagnostic | |
overloaded-shift-op-parentheses clang diagnostic | |
overloaded-virtual clang diagnostic | |
override-init clang diagnostic | |
override-module clang diagnostic | |
overriding-method-mismatch clang diagnostic | |
overriding-t-option clang diagnostic | |
| |
packed-non-pod clang diagnostic | |
| |
| |
parentheses-equality clang diagnostic | |
| |
pch-date-time clang diagnostic | |
| |
pedantic-core-features clang diagnostic | |
pedantic-macros clang diagnostic | |
pessimizing-move clang diagnostic | |
pointer-arith clang diagnostic | |
pointer-bool-conversion clang diagnostic | |
pointer-compare clang diagnostic | |
pointer-integer-compare clang diagnostic | |
| |
pointer-to-enum-cast clang diagnostic | |
pointer-to-int-cast clang diagnostic | |
pointer-type-mismatch clang diagnostic | |
poison-system-directories clang diagnostic | |
potentially-evaluated-expression clang diagnostic | |
pragma-clang-attribute clang diagnostic | |
pragma-once-outside-header clang diagnostic | |
| |
pragma-pack-suspicious-include clang diagnostic | |
| |
pragma-system-header-outside-header clang diagnostic | |
pre-c++14-compat clang diagnostic | |
pre-c++14-compat-pedantic clang diagnostic | |
pre-c++17-compat clang diagnostic | |
pre-c++17-compat-pedantic clang diagnostic | |
pre-c++20-compat clang diagnostic | |
pre-c++20-compat-pedantic clang diagnostic | |
pre-c++2b-compat clang diagnostic | |
pre-c++2b-compat-pedantic clang diagnostic | |
pre-c2x-compat clang diagnostic | |
pre-c2x-compat-pedantic clang diagnostic | |
predefined-identifier-outside-function clang diagnostic | |
pre-openmp-51-compat clang diagnostic | |
private-extern clang diagnostic | |
private-header clang diagnostic | |
private-module clang diagnostic | |
profile-instr-missing clang diagnostic | |
profile-instr-out-of-date clang diagnostic | |
profile-instr-unprofiled clang diagnostic | |
property-access-dot-syntax clang diagnostic | |
property-attribute-mismatch clang diagnostic | |
| |
protocol-property-synthesis-ambiguity clang diagnostic | |
| |
qualified-void-return-type clang diagnostic | |
quoted-include-in-framework-header clang diagnostic | |
range-loop-analysis clang diagnostic | |
range-loop-bind-reference clang diagnostic | |
range-loop-construct clang diagnostic | |
readonly-iboutlet-property clang diagnostic | |
read-only-types clang diagnostic | |
receiver-expr clang diagnostic | |
receiver-forward-class clang diagnostic | |
redeclared-class-member clang diagnostic | |
redundant-consteval-if clang diagnostic | |
redundant-move clang diagnostic | |
redundant-parens clang diagnostic | |
| |
reinterpret-base-class clang diagnostic | |
| |
| |
reorder-init-list clang diagnostic | |
requires-super-attribute clang diagnostic | |
reserved-identifier clang diagnostic | |
reserved-id-macro clang diagnostic | |
reserved-macro-identifier clang diagnostic | |
reserved-user-defined-literal clang diagnostic | |
restrict-expansion clang diagnostic | |
retained-language-linkage clang diagnostic | |
return-local-addr clang diagnostic | |
return-stack-address clang diagnostic | |
return-std-move clang diagnostic | |
| |
return-type-c-linkage clang diagnostic | |
rewrite-not-bool clang diagnostic | |
sarif-format-unstable clang diagnostic | |
| |
| |
selector-type-mismatch clang diagnostic | |
| |
self-assign-field clang diagnostic | |
self-assign-overloaded clang diagnostic | |
| |
semicolon-before-method-body clang diagnostic | |
| |
serialized-diagnostics clang diagnostic | |
| |
| |
shadow-field-in-constructor clang diagnostic | |
shadow-field-in-constructor-modified clang diagnostic | |
| |
shadow-uncaptured-local clang diagnostic | |
shift-count-negative clang diagnostic | |
shift-count-overflow clang diagnostic | |
shift-negative-value clang diagnostic | |
shift-op-parentheses clang diagnostic | |
shift-overflow clang diagnostic | |
shift-sign-overflow clang diagnostic | |
shorten-64-to-32 clang diagnostic | |
| |
sign-conversion clang diagnostic | |
signed-enum-bitfield clang diagnostic | |
signed-unsigned-wchar clang diagnostic | |
single-bit-bitfield-constant-conversion clang diagnostic | |
sizeof-array-argument clang diagnostic | |
sizeof-array-decay clang diagnostic | |
sizeof-array-div clang diagnostic | |
sizeof-pointer-div clang diagnostic | |
sizeof-pointer-memaccess clang diagnostic | |
slash-u-filename clang diagnostic | |
| |
sometimes-uninitialized clang diagnostic | |
source-uses-openmp clang diagnostic | |
| |
| |
static-float-init clang diagnostic | |
static-in-inline clang diagnostic | |
static-inline-explicit-instantiation clang diagnostic | |
static-local-in-inline clang diagnostic | |
static-self-init clang diagnostic | |
stdlibcxx-not-found clang diagnostic | |
strict-prototypes clang diagnostic | |
strict-selector-match clang diagnostic | |
string-compare clang diagnostic | |
string-concatenation clang diagnostic | |
string-conversion clang diagnostic | |
string-plus-char clang diagnostic | |
string-plus-int clang diagnostic | |
strlcpy-strlcat-size clang diagnostic | |
| |
suggest-destructor-override clang diagnostic | |
suggest-override clang diagnostic | |
super-class-method-mismatch clang diagnostic | |
suspicious-bzero clang diagnostic | |
| |
| |
| |
sync-fetch-and-nand-semantics-changed clang diagnostic | |
target-clones-mixed-specifiers clang diagnostic | |
tautological-bitwise-compare clang diagnostic | |
tautological-compare clang diagnostic | |
tautological-constant-compare clang diagnostic | |
tautological-constant-in-range-compare clang diagnostic | |
tautological-constant-out-of-range-compare clang diagnostic | |
tautological-objc-bool-compare clang diagnostic | |
tautological-overlap-compare clang diagnostic | |
tautological-pointer-compare clang diagnostic | |
tautological-type-limit-compare clang diagnostic | |
tautological-undefined-compare clang diagnostic | |
tautological-unsigned-char-zero-compare clang diagnostic | |
tautological-unsigned-enum-zero-compare clang diagnostic | |
tautological-unsigned-zero-compare clang diagnostic | |
tautological-value-range-compare clang diagnostic | |
tentative-definition-incomplete-type clang diagnostic | |
thread-safety-analysis clang diagnostic | |
thread-safety-attributes clang diagnostic | |
thread-safety-beta clang diagnostic | |
thread-safety-negative clang diagnostic | |
thread-safety-precise clang diagnostic | |
thread-safety-reference clang diagnostic | |
thread-safety-verbose clang diagnostic | |
| |
typedef-redefinition clang diagnostic | |
typename-missing clang diagnostic | |
| |
unable-to-open-stats-file clang diagnostic | |
unaligned-access clang diagnostic | |
unaligned-qualifier-implicit-cast clang diagnostic | |
unavailable-declarations clang diagnostic | |
undeclared-selector clang diagnostic | |
| |
undefined-bool-conversion clang diagnostic | |
undefined-func-template clang diagnostic | |
undefined-inline clang diagnostic | |
undefined-internal clang diagnostic | |
undefined-internal-type clang diagnostic | |
undefined-reinterpret-cast clang diagnostic | |
undefined-var-template clang diagnostic | |
| |
underaligned-exception-object clang diagnostic | |
unevaluated-expression clang diagnostic | |
unguarded-availability clang diagnostic | |
unguarded-availability-new clang diagnostic | |
| |
unicode-homoglyph clang diagnostic | |
unicode-whitespace clang diagnostic | |
unicode-zero-width clang diagnostic | |
uninitialized clang diagnostic | |
uninitialized-const-reference clang diagnostic | |
unknown-argument clang diagnostic | |
unknown-attributes clang diagnostic | |
unknown-cuda-version clang diagnostic | |
unknown-directives clang diagnostic | |
unknown-escape-sequence clang diagnostic | |
unknown-pragmas clang diagnostic | |
unknown-sanitizers clang diagnostic | |
unknown-warning-option clang diagnostic | |
unnamed-type-template-args clang diagnostic | |
unneeded-internal-declaration clang diagnostic | |
unneeded-member-function clang diagnostic | |
unqualified-std-cast-call clang diagnostic | |
unreachable-code clang diagnostic | |
unreachable-code-break clang diagnostic | |
unreachable-code-fallthrough clang diagnostic | |
unreachable-code-generic-assoc clang diagnostic | |
unreachable-code-loop-increment clang diagnostic | |
unreachable-code-return clang diagnostic | |
unsafe-buffer-usage clang diagnostic | |
| |
unsupported-abi clang diagnostic | |
unsupported-abs clang diagnostic | |
unsupported-availability-guard clang diagnostic | |
unsupported-cb clang diagnostic | |
unsupported-dll-base-class-template clang diagnostic | |
unsupported-friend clang diagnostic | |
unsupported-gpopt clang diagnostic | |
unsupported-nan clang diagnostic | |
unsupported-target-opt clang diagnostic | |
unsupported-visibility clang diagnostic | |
unusable-partial-specialization clang diagnostic | |
unused-but-set-parameter clang diagnostic | |
unused-but-set-variable clang diagnostic | |
unused-comparison clang diagnostic | |
unused-const-variable clang diagnostic | |
unused-exception-parameter clang diagnostic | |
unused-function clang diagnostic | |
unused-getter-return-value clang diagnostic | |
| |
unused-lambda-capture clang diagnostic | |
unused-local-typedef clang diagnostic | |
unused-macros clang diagnostic | |
unused-member-function clang diagnostic | |
unused-parameter clang diagnostic | |
unused-private-field clang diagnostic | |
unused-property-ivar clang diagnostic | |
unused-result clang diagnostic | |
unused-template clang diagnostic | |
| |
unused-variable clang diagnostic | |
unused-volatile-lvalue clang diagnostic | |
used-but-marked-unused clang diagnostic | |
user-defined-literals clang diagnostic | |
user-defined-warnings clang diagnostic | |
| |
variadic-macros clang diagnostic | |
vec-elem-size clang diagnostic | |
vector-conversion clang diagnostic | |
| |
| |
| |
vla-extension clang diagnostic | |
void-pointer-to-enum-cast clang diagnostic | |
void-pointer-to-int-cast clang diagnostic | |
void-ptr-dereference clang diagnostic | |
wasm-exception-spec clang diagnostic | |
weak-template-vtables clang diagnostic | |
| |
writable-strings clang diagnostic | |
xor-used-as-pow clang diagnostic | |
zero-as-null-pointer-constant clang diagnostic | |
zero-length-array clang diagnostic |
Clang Static Analyzer Checks (115 inspections)
Inspections in this category are diagnostics from Clang Static Analyzer integrated with JetBrains Rider.
All static analyzer checks are disabled by default, since enabling them significantly slows down Clang-Tidy.
Inspection | |
---|---|
apiModeling.Errno clang static analyzer check | |
apiModeling.google.GTest clang static analyzer check | |
apiModeling.llvm.CastValue clang static analyzer check | |
apiModeling.llvm.ReturnValue clang static analyzer check | |
apiModeling.StdCLibraryFunctions clang static analyzer check | |
apiModeling.TrustNonnull clang static analyzer check | |
apiModeling.TrustReturnsNonnull clang static analyzer check | |
core.builtin.BuiltinFunctions clang static analyzer check | |
core.builtin.NoReturnFunctions clang static analyzer check | |
core.CallAndMessage clang static analyzer check | |
core.CallAndMessageModeling clang static analyzer check | |
core.DivideZero clang static analyzer check | |
core.DynamicTypePropagation clang static analyzer check | |
core.NonnilStringConstants clang static analyzer check | |
core.NonNullParamChecker clang static analyzer check | |
core.NullDereference clang static analyzer check | |
core.StackAddrEscapeBase clang static analyzer check | |
core.StackAddressEscape clang static analyzer check | |
core.UndefinedBinaryOperatorResult clang static analyzer check | |
core.uninitialized.ArraySubscript clang static analyzer check | |
core.uninitialized.Assign clang static analyzer check | |
core.uninitialized.Branch clang static analyzer check | |
core.uninitialized.CapturedBlockVariable clang static analyzer check | |
core.uninitialized.NewArraySize clang static analyzer check | |
core.uninitialized.UndefReturn clang static analyzer check | |
core.VLASize clang static analyzer check | |
cplusplus.InnerPointer clang static analyzer check | |
cplusplus.Move clang static analyzer check | |
cplusplus.NewDelete clang static analyzer check | |
cplusplus.NewDeleteLeaks clang static analyzer check | |
cplusplus.PlacementNew clang static analyzer check | |
cplusplus.PureVirtualCall clang static analyzer check | |
cplusplus.SelfAssignment clang static analyzer check | |
cplusplus.SmartPtrModeling clang static analyzer check | |
cplusplus.StringChecker clang static analyzer check | |
cplusplus.VirtualCallModeling clang static analyzer check | |
deadcode.DeadStores clang static analyzer check | |
fuchsia.HandleChecker clang static analyzer check | |
nullability.NullabilityBase clang static analyzer check | |
nullability.NullableDereferenced clang static analyzer check | |
nullability.NullablePassedToNonnull clang static analyzer check | |
nullability.NullableReturnedFromNonnull clang static analyzer check | |
nullability.NullPassedToNonnull clang static analyzer check | |
nullability.NullReturnedFromNonnull clang static analyzer check | |
optin.cplusplus.UninitializedObject clang static analyzer check | |
optin.cplusplus.VirtualCall clang static analyzer check | |
optin.mpi.MPI-Checker clang static analyzer check | |
optin.osx.cocoa.localizability.EmptyLocalizationContextChecker clang static analyzer check | |
optin.osx.cocoa.localizability.NonLocalizedStringChecker clang static analyzer check | |
optin.osx.OSObjectCStyleCast clang static analyzer check | |
optin.performance.GCDAntipattern clang static analyzer check | |
optin.performance.Padding clang static analyzer check | |
optin.portability.UnixAPI clang static analyzer check | |
osx.API clang static analyzer check | |
osx.cocoa.AtSync clang static analyzer check | |
osx.cocoa.AutoreleaseWrite clang static analyzer check | |
osx.cocoa.ClassRelease clang static analyzer check | |
osx.cocoa.Dealloc clang static analyzer check | |
osx.cocoa.IncompatibleMethodTypes clang static analyzer check | |
osx.cocoa.Loops clang static analyzer check | |
osx.cocoa.MissingSuperCall clang static analyzer check | |
osx.cocoa.NilArg clang static analyzer check | |
osx.cocoa.NonNilReturnValue clang static analyzer check | |
osx.cocoa.NSAutoreleasePool clang static analyzer check | |
osx.cocoa.NSError clang static analyzer check | |
osx.cocoa.ObjCGenerics clang static analyzer check | |
osx.cocoa.RetainCount clang static analyzer check | |
osx.cocoa.RetainCountBase clang static analyzer check | |
osx.cocoa.RunLoopAutoreleaseLeak clang static analyzer check | |
osx.cocoa.SelfInit clang static analyzer check | |
osx.cocoa.SuperDealloc clang static analyzer check | |
osx.cocoa.UnusedIvars clang static analyzer check | |
osx.cocoa.VariadicMethodTypes clang static analyzer check | |
osx.coreFoundation.CFError clang static analyzer check | |
osx.coreFoundation.CFNumber clang static analyzer check | |
osx.coreFoundation.CFRetainRelease clang static analyzer check | |
osx.coreFoundation.containers.OutOfBounds clang static analyzer check | |
osx.coreFoundation.containers.PointerSizedValues clang static analyzer check | |
osx.MIG clang static analyzer check | |
osx.NSOrCFErrorDerefChecker clang static analyzer check | |
osx.NumberObjectConversion clang static analyzer check | |
osx.ObjCProperty clang static analyzer check | |
osx.OSObjectRetainCount clang static analyzer check | |
osx.SecKeychainAPI clang static analyzer check | |
security.FloatLoopCounter clang static analyzer check | |
security.insecureAPI.bcmp clang static analyzer check | |
security.insecureAPI.bcopy clang static analyzer check | |
security.insecureAPI.bzero clang static analyzer check | |
security.insecureAPI.decodeValueOfObjCType clang static analyzer check | |
security.insecureAPI.DeprecatedOrUnsafeBufferHandling clang static analyzer check | |
security.insecureAPI.getpw clang static analyzer check | |
security.insecureAPI.gets clang static analyzer check | |
security.insecureAPI.mkstemp clang static analyzer check | |
security.insecureAPI.mktemp clang static analyzer check | |
security.insecureAPI.rand clang static analyzer check | |
security.insecureAPI.SecuritySyntaxChecker clang static analyzer check | |
security.insecureAPI.strcpy clang static analyzer check | |
security.insecureAPI.UncheckedReturn clang static analyzer check | |
security.insecureAPI.vfork clang static analyzer check | |
unix.API clang static analyzer check | |
unix.cstring.BadSizeArg clang static analyzer check | |
unix.cstring.CStringModeling clang static analyzer check | |
unix.cstring.NullArg clang static analyzer check | |
unix.DynamicMemoryModeling clang static analyzer check | |
unix.Malloc clang static analyzer check | |
unix.MallocSizeof clang static analyzer check | |
unix.MismatchedDeallocator clang static analyzer check | |
unix.Vfork clang static analyzer check | |
valist.CopyToSelf clang static analyzer check | |
valist.Uninitialized clang static analyzer check | |
valist.Unterminated clang static analyzer check | |
valist.ValistBase clang static analyzer check | |
webkit.NoUncountedMemberChecker clang static analyzer check | |
webkit.RefCntblBaseVirtualDtor clang static analyzer check | |
webkit.UncountedLambdaCapturesChecker clang static analyzer check |
Clang-Tidy Checks (372 inspections)
Inspections in this category are provided by Clang-Tidy — a powerful open-source code analysis tool integrated with JetBrains Rider.
Inspection | |
---|---|
abseil-cleanup-ctad clang-tidy check | |
abseil-duration-addition clang-tidy check | |
abseil-duration-comparison clang-tidy check | |
abseil-duration-conversion-cast clang-tidy check | |
abseil-duration-division clang-tidy check | |
abseil-duration-factory-float clang-tidy check | |
abseil-duration-factory-scale clang-tidy check | |
abseil-duration-subtraction clang-tidy check | |
abseil-duration-unnecessary-conversion clang-tidy check | |
abseil-faster-strsplit-delimiter clang-tidy check | |
abseil-no-internal-dependencies clang-tidy check | |
abseil-no-namespace clang-tidy check | |
abseil-redundant-strcat-calls clang-tidy check | |
abseil-str-cat-append clang-tidy check | |
abseil-string-find-startswith clang-tidy check | |
abseil-string-find-str-contains clang-tidy check | |
abseil-time-comparison clang-tidy check | |
abseil-time-subtraction clang-tidy check | |
abseil-upgrade-duration-conversions clang-tidy check | |
altera-id-dependent-backward-branch clang-tidy check | |
altera-kernel-name-restriction clang-tidy check | |
altera-single-work-item-barrier clang-tidy check | |
altera-struct-pack-align clang-tidy check | |
altera-unroll-loops clang-tidy check | |
android-cloexec-accept clang-tidy check | |
android-cloexec-accept4 clang-tidy check | |
android-cloexec-creat clang-tidy check | |
android-cloexec-dup clang-tidy check | |
android-cloexec-epoll-create clang-tidy check | |
android-cloexec-epoll-create1 clang-tidy check | |
android-cloexec-fopen clang-tidy check | |
android-cloexec-inotify-init clang-tidy check | |
android-cloexec-inotify-init1 clang-tidy check | |
android-cloexec-memfd-create clang-tidy check | |
android-cloexec-open clang-tidy check | |
android-cloexec-pipe clang-tidy check | |
android-cloexec-pipe2 clang-tidy check | |
android-cloexec-socket clang-tidy check | |
android-comparison-in-temp-failure-retry clang-tidy check | |
boost-use-to-string clang-tidy check | |
bugprone-argument-comment clang-tidy check | |
bugprone-assert-side-effect clang-tidy check | |
bugprone-assignment-in-if-condition clang-tidy check | |
bugprone-bad-signal-to-kill-thread clang-tidy check | |
bugprone-bool-pointer-implicit-conversion clang-tidy check | |
bugprone-branch-clone clang-tidy check | |
bugprone-copy-constructor-init clang-tidy check | |
bugprone-dangling-handle clang-tidy check | |
bugprone-dynamic-static-initializers clang-tidy check | |
bugprone-easily-swappable-parameters clang-tidy check | |
bugprone-exception-escape clang-tidy check | |
bugprone-fold-init-type clang-tidy check | |
bugprone-forward-declaration-namespace clang-tidy check | |
bugprone-forwarding-reference-overload clang-tidy check | |
bugprone-implicit-widening-of-multiplication-result clang-tidy check | |
bugprone-inaccurate-erase clang-tidy check | |
bugprone-incorrect-roundings clang-tidy check | |
bugprone-infinite-loop clang-tidy check | |
bugprone-integer-division clang-tidy check | |
bugprone-lambda-function-name clang-tidy check | |
bugprone-macro-parentheses clang-tidy check | |
bugprone-macro-repeated-side-effects clang-tidy check | |
bugprone-misplaced-operator-in-strlen-in-alloc clang-tidy check | |
bugprone-misplaced-pointer-arithmetic-in-alloc clang-tidy check | |
bugprone-misplaced-widening-cast clang-tidy check | |
bugprone-move-forwarding-reference clang-tidy check | |
bugprone-multiple-statement-macro clang-tidy check | |
bugprone-narrowing-conversions clang-tidy check | |
bugprone-no-escape clang-tidy check | |
bugprone-not-null-terminated-result clang-tidy check | |
bugprone-parent-virtual-call clang-tidy check | |
bugprone-posix-return clang-tidy check | |
bugprone-redundant-branch-condition clang-tidy check | |
bugprone-reserved-identifier clang-tidy check | |
bugprone-shared-ptr-array-mismatch clang-tidy check | |
bugprone-signal-handler clang-tidy check | |
bugprone-signed-char-misuse clang-tidy check | |
bugprone-sizeof-container clang-tidy check | |
bugprone-sizeof-expression clang-tidy check | |
bugprone-spuriously-wake-up-functions clang-tidy check | |
bugprone-standalone-empty clang-tidy check | |
bugprone-string-constructor clang-tidy check | |
bugprone-string-integer-assignment clang-tidy check | |
bugprone-string-literal-with-embedded-nul clang-tidy check | |
bugprone-stringview-nullptr clang-tidy check | |
bugprone-suspicious-enum-usage clang-tidy check | |
bugprone-suspicious-include clang-tidy check | |
bugprone-suspicious-memory-comparison clang-tidy check | |
bugprone-suspicious-memset-usage clang-tidy check | |
bugprone-suspicious-missing-comma clang-tidy check | |
bugprone-suspicious-realloc-usage clang-tidy check | |
bugprone-suspicious-semicolon clang-tidy check | |
bugprone-suspicious-string-compare clang-tidy check | |
bugprone-swapped-arguments clang-tidy check | |
bugprone-terminating-continue clang-tidy check | |
bugprone-throw-keyword-missing clang-tidy check | |
bugprone-too-small-loop-variable clang-tidy check | |
bugprone-unchecked-optional-access clang-tidy check | |
bugprone-undefined-memory-manipulation clang-tidy check | |
bugprone-undelegated-constructor clang-tidy check | |
bugprone-unhandled-exception-at-new clang-tidy check | |
bugprone-unhandled-self-assignment clang-tidy check | |
bugprone-unused-raii clang-tidy check | |
bugprone-unused-return-value clang-tidy check | |
bugprone-use-after-move clang-tidy check | |
bugprone-virtual-near-miss clang-tidy check | |
| |
cert-con54-cpp clang-tidy check | |
| |
| |
cert-dcl21-cpp clang-tidy check | |
| |
cert-dcl50-cpp clang-tidy check | |
cert-dcl51-cpp clang-tidy check | |
cert-dcl54-cpp clang-tidy check | |
cert-dcl58-cpp clang-tidy check | |
cert-dcl59-cpp clang-tidy check | |
| |
cert-err09-cpp clang-tidy check | |
| |
| |
cert-err52-cpp clang-tidy check | |
cert-err58-cpp clang-tidy check | |
cert-err60-cpp clang-tidy check | |
cert-err61-cpp clang-tidy check | |
| |
| |
| |
| |
cert-mem57-cpp clang-tidy check | |
| |
| |
cert-msc50-cpp clang-tidy check | |
cert-msc51-cpp clang-tidy check | |
cert-msc54-cpp clang-tidy check | |
cert-oop11-cpp clang-tidy check | |
cert-oop54-cpp clang-tidy check | |
cert-oop57-cpp clang-tidy check | |
cert-oop58-cpp clang-tidy check | |
| |
| |
| |
| |
concurrency-mt-unsafe clang-tidy check | |
concurrency-thread-canceltype-asynchronous clang-tidy check | |
cppcoreguidelines-avoid-c-arrays clang-tidy check | |
cppcoreguidelines-avoid-const-or-ref-data-members clang-tidy check | |
cppcoreguidelines-avoid-do-while clang-tidy check | |
cppcoreguidelines-avoid-goto clang-tidy check | |
cppcoreguidelines-avoid-magic-numbers clang-tidy check | |
cppcoreguidelines-avoid-non-const-global-variables clang-tidy check | |
cppcoreguidelines-avoid-reference-coroutine-parameters clang-tidy check | |
cppcoreguidelines-c-copy-assignment-signature clang-tidy check | |
cppcoreguidelines-explicit-virtual-functions clang-tidy check | |
cppcoreguidelines-init-variables clang-tidy check | |
cppcoreguidelines-interfaces-global-init clang-tidy check | |
cppcoreguidelines-macro-usage clang-tidy check | |
cppcoreguidelines-narrowing-conversions clang-tidy check | |
cppcoreguidelines-no-malloc clang-tidy check | |
cppcoreguidelines-non-private-member-variables-in-classes clang-tidy check | |
cppcoreguidelines-owning-memory clang-tidy check | |
cppcoreguidelines-prefer-member-initializer clang-tidy check | |
cppcoreguidelines-pro-bounds-array-to-pointer-decay clang-tidy check | |
cppcoreguidelines-pro-bounds-constant-array-index clang-tidy check | |
cppcoreguidelines-pro-bounds-pointer-arithmetic clang-tidy check | |
cppcoreguidelines-pro-type-const-cast clang-tidy check | |
cppcoreguidelines-pro-type-cstyle-cast clang-tidy check | |
cppcoreguidelines-pro-type-member-init clang-tidy check | |
cppcoreguidelines-pro-type-reinterpret-cast clang-tidy check | |
cppcoreguidelines-pro-type-static-cast-downcast clang-tidy check | |
cppcoreguidelines-pro-type-union-access clang-tidy check | |
cppcoreguidelines-pro-type-vararg clang-tidy check | |
cppcoreguidelines-slicing clang-tidy check | |
cppcoreguidelines-special-member-functions clang-tidy check | |
cppcoreguidelines-virtual-class-destructor clang-tidy check | |
darwin-avoid-spinlock clang-tidy check | |
darwin-dispatch-once-nonstatic clang-tidy check | |
fuchsia-default-arguments-calls clang-tidy check | |
fuchsia-default-arguments-declarations clang-tidy check | |
fuchsia-header-anon-namespaces clang-tidy check | |
fuchsia-multiple-inheritance clang-tidy check | |
fuchsia-overloaded-operator clang-tidy check | |
fuchsia-statically-constructed-objects clang-tidy check | |
fuchsia-trailing-return clang-tidy check | |
fuchsia-virtual-inheritance clang-tidy check | |
google-build-explicit-make-pair clang-tidy check | |
google-build-namespaces clang-tidy check | |
google-build-using-namespace clang-tidy check | |
google-default-arguments clang-tidy check | |
google-explicit-constructor clang-tidy check | |
google-global-names-in-headers clang-tidy check | |
google-objc-avoid-nsobject-new clang-tidy check | |
google-objc-avoid-throwing-exception clang-tidy check | |
google-objc-function-naming clang-tidy check | |
google-objc-global-variable-declaration clang-tidy check | |
google-readability-avoid-underscore-in-googletest-name clang-tidy check | |
google-readability-braces-around-statements clang-tidy check | |
google-readability-casting clang-tidy check | |
google-readability-function-size clang-tidy check | |
google-readability-namespace-comments clang-tidy check | |
google-readability-todo clang-tidy check | |
google-runtime-int clang-tidy check | |
google-runtime-operator clang-tidy check | |
google-upgrade-googletest-case clang-tidy check | |
hicpp-avoid-c-arrays clang-tidy check | |
hicpp-avoid-goto clang-tidy check | |
hicpp-braces-around-statements clang-tidy check | |
hicpp-deprecated-headers clang-tidy check | |
hicpp-exception-baseclass clang-tidy check | |
hicpp-explicit-conversions clang-tidy check | |
hicpp-function-size clang-tidy check | |
hicpp-invalid-access-moved clang-tidy check | |
hicpp-member-init clang-tidy check | |
hicpp-move-const-arg clang-tidy check | |
hicpp-multiway-paths-covered clang-tidy check | |
hicpp-named-parameter clang-tidy check | |
hicpp-new-delete-operators clang-tidy check | |
hicpp-no-array-decay clang-tidy check | |
hicpp-no-assembler clang-tidy check | |
hicpp-noexcept-move clang-tidy check | |
hicpp-no-malloc clang-tidy check | |
hicpp-signed-bitwise clang-tidy check | |
hicpp-special-member-functions clang-tidy check | |
hicpp-static-assert clang-tidy check | |
hicpp-undelegated-constructor clang-tidy check | |
hicpp-uppercase-literal-suffix clang-tidy check | |
hicpp-use-auto clang-tidy check | |
hicpp-use-emplace clang-tidy check | |
hicpp-use-equals-default clang-tidy check | |
hicpp-use-equals-delete clang-tidy check | |
hicpp-use-noexcept clang-tidy check | |
hicpp-use-nullptr clang-tidy check | |
hicpp-use-override clang-tidy check | |
| |
linuxkernel-must-check-errs clang-tidy check | |
llvm-else-after-return clang-tidy check | |
llvm-header-guard clang-tidy check | |
llvm-include-order clang-tidy check | |
llvmlibc-callee-namespace clang-tidy check | |
llvmlibc-implementation-in-namespace clang-tidy check | |
llvmlibc-restrict-system-libc-headers clang-tidy check | |
llvm-namespace-comment clang-tidy check | |
llvm-prefer-isa-or-dyn-cast-in-conditionals clang-tidy check | |
llvm-prefer-register-over-unsigned clang-tidy check | |
llvm-qualified-auto clang-tidy check | |
llvm-twine-local clang-tidy check | |
misc-confusable-identifiers clang-tidy check | |
misc-const-correctness clang-tidy check | |
misc-definitions-in-headers clang-tidy check | |
misc-misleading-bidirectional clang-tidy check | |
misc-misleading-identifier clang-tidy check | |
misc-misplaced-const clang-tidy check | |
misc-new-delete-overloads clang-tidy check | |
misc-non-copyable-objects clang-tidy check | |
misc-non-private-member-variables-in-classes clang-tidy check | |
misc-no-recursion clang-tidy check | |
misc-redundant-expression clang-tidy check | |
misc-static-assert clang-tidy check | |
misc-throw-by-value-catch-by-reference clang-tidy check | |
misc-unconventional-assign-operator clang-tidy check | |
misc-uniqueptr-reset-release clang-tidy check | |
misc-unused-alias-decls clang-tidy check | |
misc-unused-parameters clang-tidy check | |
misc-unused-using-decls clang-tidy check | |
misc-use-anonymous-namespace clang-tidy check | |
modernize-avoid-bind clang-tidy check | |
modernize-avoid-c-arrays clang-tidy check | |
modernize-concat-nested-namespaces clang-tidy check | |
modernize-deprecated-headers clang-tidy check | |
modernize-deprecated-ios-base-aliases clang-tidy check | |
modernize-loop-convert clang-tidy check | |
modernize-macro-to-enum clang-tidy check | |
modernize-make-shared clang-tidy check | |
modernize-make-unique clang-tidy check | |
modernize-pass-by-value clang-tidy check | |
modernize-raw-string-literal clang-tidy check | |
modernize-redundant-void-arg clang-tidy check | |
modernize-replace-auto-ptr clang-tidy check | |
modernize-replace-disallow-copy-and-assign-macro clang-tidy check | |
modernize-replace-random-shuffle clang-tidy check | |
modernize-return-braced-init-list clang-tidy check | |
modernize-shrink-to-fit clang-tidy check | |
modernize-unary-static-assert clang-tidy check | |
modernize-use-auto clang-tidy check | |
modernize-use-bool-literals clang-tidy check | |
modernize-use-default-member-init clang-tidy check | |
modernize-use-emplace clang-tidy check | |
modernize-use-equals-default clang-tidy check | |
modernize-use-equals-delete clang-tidy check | |
modernize-use-nodiscard clang-tidy check | |
modernize-use-noexcept clang-tidy check | |
modernize-use-nullptr clang-tidy check | |
modernize-use-override clang-tidy check | |
modernize-use-trailing-return-type clang-tidy check | |
modernize-use-transparent-functors clang-tidy check | |
modernize-use-uncaught-exceptions clang-tidy check | |
modernize-use-using clang-tidy check | |
mpi-buffer-deref clang-tidy check | |
mpi-type-mismatch clang-tidy check | |
objc-assert-equals clang-tidy check | |
objc-avoid-nserror-init clang-tidy check | |
objc-dealloc-in-category clang-tidy check | |
objc-forbidden-subclassing clang-tidy check | |
objc-missing-hash clang-tidy check | |
objc-nsdate-formatter clang-tidy check | |
objc-nsinvocation-argument-lifetime clang-tidy check | |
objc-property-declaration clang-tidy check | |
objc-super-self clang-tidy check | |
openmp-exception-escape clang-tidy check | |
openmp-use-default-none clang-tidy check | |
performance-faster-string-find clang-tidy check | |
performance-for-range-copy clang-tidy check | |
performance-implicit-conversion-in-loop clang-tidy check | |
performance-inefficient-algorithm clang-tidy check | |
performance-inefficient-string-concatenation clang-tidy check | |
performance-inefficient-vector-operation clang-tidy check | |
performance-move-const-arg clang-tidy check | |
performance-move-constructor-init clang-tidy check | |
performance-no-automatic-move clang-tidy check | |
performance-noexcept-move-constructor clang-tidy check | |
performance-no-int-to-ptr clang-tidy check | |
performance-trivially-destructible clang-tidy check | |
performance-type-promotion-in-math-fn clang-tidy check | |
performance-unnecessary-copy-initialization clang-tidy check | |
performance-unnecessary-value-param clang-tidy check | |
portability-restrict-system-includes clang-tidy check | |
portability-simd-intrinsics clang-tidy check | |
portability-std-allocator-const clang-tidy check | |
readability-avoid-const-params-in-decls clang-tidy check | |
readability-braces-around-statements clang-tidy check | |
readability-const-return-type clang-tidy check | |
readability-container-contains clang-tidy check | |
readability-container-data-pointer clang-tidy check | |
readability-container-size-empty clang-tidy check | |
readability-convert-member-functions-to-static clang-tidy check | |
readability-delete-null-pointer clang-tidy check | |
readability-duplicate-include clang-tidy check | |
readability-else-after-return clang-tidy check | |
readability-function-cognitive-complexity clang-tidy check | |
readability-function-size clang-tidy check | |
readability-identifier-length clang-tidy check | |
readability-identifier-naming clang-tidy check | |
readability-implicit-bool-conversion clang-tidy check | |
readability-inconsistent-declaration-parameter-name clang-tidy check | |
readability-isolate-declaration clang-tidy check | |
readability-magic-numbers clang-tidy check | |
readability-make-member-function-const clang-tidy check | |
readability-misleading-indentation clang-tidy check | |
readability-misplaced-array-index clang-tidy check | |
readability-named-parameter clang-tidy check | |
readability-non-const-parameter clang-tidy check | |
readability-qualified-auto clang-tidy check | |
readability-redundant-access-specifiers clang-tidy check | |
readability-redundant-control-flow clang-tidy check | |
readability-redundant-declaration clang-tidy check | |
readability-redundant-function-ptr-dereference clang-tidy check | |
readability-redundant-member-init clang-tidy check | |
readability-redundant-preprocessor clang-tidy check | |
readability-redundant-smartptr-get clang-tidy check | |
readability-redundant-string-cstr clang-tidy check | |
readability-redundant-string-init clang-tidy check | |
readability-simplify-boolean-expr clang-tidy check | |
readability-simplify-subscript-expr clang-tidy check | |
readability-static-accessed-through-instance clang-tidy check | |
readability-static-definition-in-anonymous-namespace clang-tidy check | |
readability-string-compare clang-tidy check | |
readability-suspicious-call-argument clang-tidy check | |
readability-uniqueptr-delete-release clang-tidy check | |
readability-uppercase-literal-suffix clang-tidy check | |
readability-use-anyofallof clang-tidy check | |
Unknown clang-tidy checks | |
zircon-temporary-objects clang-tidy check |
Common Practices and Code Improvements (39 inspections)
This category groups inspections that hunt for medium severity issues that mainly affect code readability.
Inspection | |
---|---|
Algorithm accepting an iterator and a count can be used | |
Algorithm operating on ranges can be used | |
Class can be made final | |
Compile-time constant expression can be replaced with either 'true' or 'false' | |
consteval if is always constant | |
Constructor of smart pointer is used instead of its make function | |
'contains' member function can be used | |
C-style cast is used instead of a C++ cast | |
Declaration and assignment can be joined | |
For-loop can be replaced with while-loop | |
Function returns by const value | |
Functional-style cast is used instead of a C++ cast | |
'if' can be replaced by 'if consteval' | |
If statement with constant condition can be replaced with 'if constexpr' | |
Lambda can be rewritten to use explicit template parameters | |
Local variable can be made const | |
Member function can be made const | |
Member function can be made static | |
Namespace definition containing single class specialization | |
Non-explicit conversion operator | |
Non-explicit converting constructor | |
Parameter can be made const | |
Parameter can be made pointer/reference to const | |
Pass value parameters by const reference | |
reinterpret_cast is used instead of a static_cast | |
Result of a postfix operator is discarded | |
'std::erase'/'std::erase_if' can be used instead of the remove-erase idiom | |
'std::is_constant_evaluated' will always evaluate to constant | |
std::size can be used | |
std::views::keys/values can be used | |
Structured binding can be used | |
Structured binding can be used instead of tie(..) | |
Throw expression can be replaced with a rethrow expression | |
Type trait can be simplified using a template alias or a variable template | |
Variable can be made constexpr | |
Variable can be moved to init statement | |
Variable can be moved to inner scope | |
Zero constant can be replaced with nullptr | |
Zero initialization can be used instead of memset |
Compiler Warnings (15 inspections)
Inspections in this category detect compiler warnings before you compile.
Inspection | |
---|---|
#warning directive | |
Awaiter type is not a class | |
Cannot resolve a required coroutine function | |
Default initialization of a const-qualified object of a type without a user-provided default constructor | |
Explicit specialization in non-namespace scope | |
Precompiled header is not found | |
Precompiled header is not included | |
Redeclaration of a template parameter from an outer scope | |
Reference class member with 'mutable' specifier | |
static_assert failed | |
The 'out' parameter must be assigned | |
Uninitialized dependent base class | |
Union member of reference type | |
Use of an incomplete type inside a template | |
User-defined literal suffixes must start with an underscore |
Constraints Violations (1 inspection)
This category includes code inspections, mostly with the warning severity level, which detect violations related to symbol attributes, including JetBrains Rider's code annotations, and other similar issues.
Inspection | |
---|---|
Inconsistent Naming |
Formatting (38 inspections)
Inspections in this category detect code formatting problems.
Inspection | |
---|---|
Incorrect blank lines (blank lines are missing elsewhere) | |
Incorrect blank lines (blank lines are redundant elsewhere) | |
Incorrect blank lines (incorrect number of blank lines near braces) | |
Incorrect indent (around child statement) | |
Incorrect indent (around declaration braces) | |
Incorrect indent (around expression braces) | |
Incorrect indent (around namespace braces) | |
Incorrect indent (around statement braces) | |
Incorrect indent (around switch statement) | |
Incorrect indent (incorrect indent size) | |
Incorrect indent (indent level is not restored) | |
Incorrect indent (missing indent/outdent elsewhere) | |
Incorrect indent (redundant indent/outdent elsewhere) | |
Incorrect indent (tabs/spaces mismatch) | |
Incorrect line breaks (around comma in lists) | |
Incorrect line breaks (around declaration braces) | |
Incorrect line breaks (around empty braces) | |
Incorrect line breaks (around expression braces) | |
Incorrect line breaks (around parenthesis) | |
Incorrect line breaks (around statement braces) | |
Incorrect line breaks (line break is missing elsewhere) | |
Incorrect line breaks (line break is redundant elsewhere) | |
Incorrect spacing (around angle brackets) | |
Incorrect spacing (around braces) | |
Incorrect spacing (around colon) | |
Incorrect spacing (around comma) | |
Incorrect spacing (around member access symbols) | |
Incorrect spacing (around operator symbols) | |
Incorrect spacing (around parenthesis) | |
Incorrect spacing (around semicolon) | |
Incorrect spacing (around square brackets within a statement) | |
Incorrect spacing (between keyword and parenthesis) | |
Incorrect spacing (multiple spaces are prohibited) | |
Incorrect spacing (redundant whitespaces at the end of a line) | |
Incorrect spacing (space is missing elsewhere) | |
Incorrect spacing (space is redundant elsewhere) | |
Incorrect spacing (tabs are prohibited except for indentation) | |
Incorrect spacing (tabs are prohibited) |
Potential Code Quality Issues (105 inspections)
This category includes inspections that detect critical issues (code smells), mostly with Error or Warning level. This category also includes inspections that ensure localization assistance.
Inspection | |
---|---|
[[nodiscard]] cannot be applied to functions without a return value | |
A function or a lambda with non-void return type should return a value | |
Abstract final class | |
Adding cv-qualifiers to references has no effect | |
Assigned value is never used | |
Backslash and newline are separated by space | |
Binary operator acts on equal operands | |
Binary operator acts on identical operands | |
Binding r-value to l-value reference is non-standard Microsoft C++ extension | |
Call of deleted copy constructor elided during copy-initialization. This is non-standard Microsoft C++ extension. | |
Call to a virtual function inside a constructor/destructor is resolved at compile time | |
Call to a virtual function inside a constructor/destructor will result in a pure virtual function call | |
Casting from nullptr to pointer type with reinterpret_cast is non-standard Microsoft C++ extension | |
Class is abstract but not explicitly declared as such | |
Class is never used | |
Class member function hiding a non-virtual function from a base class | |
Class should have a user-defined constructor because of an uninitialized data member | |
Comparison of unsigned expression with 0 | |
Concept is never used | |
Declaration does not declare anything | |
Declaration of a non-overriding virtual function in a final or sealed class | |
Declaration specifier with no declarators | |
Declarator disambiguated as a function declaration | |
Declarator is never used | |
Declarator is only assigned but never accessed | |
Declarator is reassigned in all paths before being read | |
Declarator is used only in unevaluated context | |
Default case is not handled in a switch statement | |
Defaulted special member function is implicitly deleted | |
Deleting a void pointer | |
Dependent template without 'template' keyword | |
Dependent type without 'typename' keyword | |
Deprecated 'register' storage class specifier | |
Dereference operator limit is exceeded | |
Entity is deprecated | |
Enumerator is never used | |
Expression can be simplified | |
Expression that evaluates to zero is used as a null pointer constant | |
Forward enum declaration without underlying type | |
Function is not implemented | |
Function result should be used | |
Hiding an uncaptured local declaration | |
Hiding local declaration | |
Implicit conversion to incompatible pointer type | |
Implicit conversion to pointer type with loss of qualifiers | |
Implicit default constructor is not available | |
Implicit integer to pointer conversion | |
Implicit pointer to integer conversion | |
Incorrect format directive in boost::format | |
Incrementing expression of type bool | |
Invalid printf format specifier | |
Keyword 'default' is used as identifier | |
Lambda capture is never used | |
Local variable is never used, but may have side-effects in its destructor | |
Local variable is used without being initialized | |
Local variable might not be initialized | |
'long' floats are not allowed by the C++ standard | |
May be missing keyword 'throw' | |
Method must be public and virtual to implement a C++/CLI interface member | |
Mismatched class tags | |
Missing function parameter description in a documentation comment | |
Missing include guard | |
More than one implicit conversion applied during copy-initialization. This is non-standard Microsoft C++ extension. | |
No return statement in a function or a lambda returning non-void | |
Non-inline function definition in a header file | |
Non-inline variable definition in a header file | |
Non-safe resource acquisition | |
Non-static data member is uninitialized | |
Non-virtual class member function hidden in a derived class | |
Not all control paths return a value | |
Not enough arguments in a call to boost::format | |
Not enough arguments in a call to printf | |
Not initialized static const local variable of scalar type. This is non-standard Microsoft C++ extension. | |
Object member might not be initialized | |
Outdated format directive in boost::format | |
Override function redefines a default parameter argument | |
Parameter is always rewritten in function body before being read | |
Parameter is never used | |
Parameter names do not match | |
Polymorphic class with non-virtual public destructor | |
Positional and non-positional arguments in the same boost::format call | |
Possibly erroneous empty statement | |
Possibly erroneous expression without side-effects | |
Possibly erroneous incomplete switch-statement | |
Possibly invalid printf format specifier | |
Possibly uninitialized class member | |
Possibly unintended incompatible reference type in range declaration | |
Possibly unintended object slicing | |
Possibly unused #include directive | |
Private special member function is not implemented | |
Result of assignment is used as condition | |
Result of nodiscard function is not used | |
Some object members might not be initialized | |
Special function without noexcept specification | |
Static data member in an anonymous class is not allowed by the C++ standard | |
String literal to char pointer conversion | |
Syntax error in doxygen comment | |
Taking an address of class r-value is non-standard Microsoft C++ extension | |
Template parameter is never used | |
Too many arguments in a call to boost::format | |
Too many arguments in a call to printf | |
Type alias is never used | |
Type-specifier missing, defaults to int | |
Unnamed namespace in a header file | |
Unresolved reference in doxygen comment |
Redundancies in Code (33 inspections)
Code inspections in this category look for redundancies and dead code, which affect code readability and style, and could be safely removed. Some code redundancies cannot be fixed automatically, and quick-fixes for them are performed in the interactive mode, requiring the user input. But the majority of the redundancies can be fixed without user interaction, using either fix in scope or code cleanup.
Inspection | |
---|---|
Access specifier does not affect any declaration | |
Access specifier does not change accessibility level | |
Const-qualified parameter in a function declaration | |
Final function in a final class | |
Final non-overriding virtual function | |
Guarded header has already been included | |
Redundant argument in conditional expression | |
Redundant base class access specifier | |
Redundant base class initializer | |
Redundant cast expression | |
Redundant 'const' specifier | |
Redundant control flow jump statement | |
Redundant dereferencing and taking address | |
Redundant elaborated type specifier | |
Redundant 'else' keyword | |
Redundant 'else' keyword inside compound statement | |
Redundant empty declaration | |
Redundant empty statement | |
Redundant 'inline' specifier | |
Redundant member initializer in constructor initialization list | |
Redundant parameter list in lambda declarator | |
Redundant parentheses | |
Redundant qualifier | |
Redundant 'static' specifier on a member allocation/deallocation function | |
Redundant 'static' specifier on a 'thread_local' local variable | |
Redundant 'static' specifier on an anonymous namespace member | |
Redundant template arguments | |
Redundant 'template' keyword | |
Redundant 'typename' keyword | |
Redundant void argument list | |
Template arguments can be deduced | |
Unreachable code | |
Volatile-qualified parameter in a function declaration |
Spelling Issues (3 inspections)
These inspections detect typos in various contexts.
Inspection | |
---|---|
| |
| |
|
Syntax Style (17 inspections)
Inspections in this category detect violations of code syntax styles. In contrast to most code inspections, these inspections can either detect the same code construct as a code issue or not depending on the corresponding code style rule configured on the page of JetBrains Rider settings Control+Alt+S. You can also fix issues that these inspection detect using code cleanup.
Inspection | |
---|---|
Use preferred 'auto' style (numeric type can be replaced with auto) | |
Use preferred 'auto' style (type can be replaced with auto) | |
Use preferred braces style (enforce braces in 'do-while' statement) | |
Use preferred braces style (enforce braces in 'for' statement) | |
Use preferred braces style (enforce braces in 'if' statement) | |
Use preferred braces style (enforce braces in 'while' statement) | |
Use preferred braces style (remove redundant braces) | |
Use preferred cv-qualifiers style (enforce the order of cv-qualifiers) | |
Use preferred cv-qualifiers style (enforce the placement of cv-qualifiers) | |
Use preferred declaration style (enforce function declaration style) | |
Use preferred declaration style (enforce nested namespaces style) | |
Use preferred declaration style (enforce type alias code style) | |
Use preferred include directive style (order of #include directives does not match code style settings) | |
Use preferred include directive style (slash symbol used in #include directive does not match code style settings) | |
Use preferred initialization style (order of member initializers does not match the initialization order) | |
Use preferred overriding function style (enforce overriding destructor style) | |
Use preferred overriding function style (enforce overriding function style) |
Unreal Engine (17 inspections)
Inspections in this category are specific to Unreal Engine projects.
Inspection | |
---|---|
Action with this name does not exist | |
Axis with this name does not exist | |
BlueprintCallable function can be made const | |
BlueprintCallable function can be made static | |
BlueprintCallable function is never used in Blueprint or C++ code | |
BlueprintImplementableEvent function is not implemented in any blueprint | |
C++ standard library headers not found | |
Inconsistent Unreal Engine Naming | |
Inconsistent Unreal Engine UCLASS Naming | |
Non-UProperty object member can be destroyed during garbage collection, resulting in a stale pointer | |
Objects stored in non-uproperty member can be destroyed during garbage collection, resulting in stale pointers | |
Specified version of the engine project is not found | |
UFUNCTION macro call has no effect | |
Unreal Engine source file without predefined Unreal macros | |
Unreal Engine version file does not exist | |
UPROPERTY macro call has no effect | |
Use of a class that has not been declared previously |
UnrealHeaderTool (2 inspections)
Inspection | |
---|---|
UnrealHeaderTool errors | |
UnrealHeaderTool warnings |