Clang-Tidy Checks

Name

Offers fixes

abseil-cleanup-ctad

Yes

abseil-duration-addition

Yes

abseil-duration-comparison

Yes

abseil-duration-conversion-cast

Yes

abseil-duration-division

Yes

abseil-duration-factory-float

Yes

abseil-duration-factory-scale

Yes

abseil-duration-subtraction

Yes

abseil-duration-unnecessary-conversion

Yes

abseil-faster-strsplit-delimiter

Yes

abseil-no-internal-dependencies

abseil-no-namespace

abseil-redundant-strcat-calls

Yes

abseil-str-cat-append

Yes

abseil-string-find-startswith

Yes

abseil-string-find-str-contains

Yes

abseil-time-comparison

Yes

abseil-time-subtraction

Yes

abseil-upgrade-duration-conversions

Yes

altera-id-dependent-backward-branch

altera-kernel-name-restriction

altera-single-work-item-barrier

altera-struct-pack-align

Yes

altera-unroll-loops

android-cloexec-accept

Yes

android-cloexec-accept4

Yes

android-cloexec-creat

Yes

android-cloexec-dup

Yes

android-cloexec-epoll-create

Yes

android-cloexec-epoll-create1

Yes

android-cloexec-fopen

Yes

android-cloexec-inotify-init

Yes

android-cloexec-inotify-init1

Yes

android-cloexec-memfd-create

Yes

android-cloexec-open

Yes

android-cloexec-pipe

Yes

android-cloexec-pipe2

Yes

android-cloexec-socket

Yes

android-comparison-in-temp-failure-retry

boost-use-to-string

Yes

bugprone-argument-comment

Yes

bugprone-assert-side-effect

bugprone-assignment-in-if-condition

bugprone-bad-signal-to-kill-thread

bugprone-bool-pointer-implicit-conversion

Yes

bugprone-branch-clone

bugprone-copy-constructor-init

Yes

bugprone-dangling-handle

bugprone-dynamic-static-initializers

bugprone-easily-swappable-parameters

bugprone-exception-escape

bugprone-fold-init-type

bugprone-forward-declaration-namespace

bugprone-forwarding-reference-overload

bugprone-implicit-widening-of-multiplication-result

Yes

bugprone-inaccurate-erase

Yes

bugprone-incorrect-roundings

bugprone-infinite-loop

bugprone-integer-division

bugprone-lambda-function-name

bugprone-macro-parentheses

Yes

bugprone-macro-repeated-side-effects

bugprone-misplaced-operator-in-strlen-in-alloc

Yes

bugprone-misplaced-pointer-arithmetic-in-alloc

Yes

bugprone-misplaced-widening-cast

bugprone-move-forwarding-reference

Yes

bugprone-multiple-statement-macro

bugprone-no-escape

bugprone-not-null-terminated-result

Yes

bugprone-parent-virtual-call

Yes

bugprone-posix-return

Yes

bugprone-redundant-branch-condition

Yes

bugprone-reserved-identifier

Yes

bugprone-shared-ptr-array-mismatch

Yes

bugprone-signal-handler

bugprone-signed-char-misuse

bugprone-sizeof-container

bugprone-sizeof-expression

bugprone-spuriously-wake-up-functions

bugprone-string-constructor

Yes

bugprone-string-integer-assignment

Yes

bugprone-string-literal-with-embedded-nul

bugprone-stringview-nullptr

Yes

bugprone-suspicious-enum-usage

bugprone-suspicious-include

bugprone-suspicious-memory-comparison

bugprone-suspicious-memset-usage

Yes

bugprone-suspicious-missing-comma

bugprone-suspicious-semicolon

Yes

bugprone-suspicious-string-compare

Yes

bugprone-swapped-arguments

Yes

bugprone-terminating-continue

Yes

bugprone-throw-keyword-missing

bugprone-too-small-loop-variable

bugprone-unchecked-optional-access

bugprone-undefined-memory-manipulation

bugprone-undelegated-constructor

bugprone-unhandled-exception-at-new

bugprone-unhandled-self-assignment

bugprone-unused-raii

Yes

bugprone-unused-return-value

bugprone-use-after-move

bugprone-virtual-near-miss

Yes

cert-dcl21-cpp

Yes

cert-dcl50-cpp

cert-dcl58-cpp

cert-env33-c

cert-err33-c

cert-err34-c

cert-err52-cpp

cert-err58-cpp

cert-err60-cpp

cert-flp30-c

cert-mem57-cpp

cert-msc50-cpp

cert-msc51-cpp

cert-oop57-cpp

cert-oop58-cpp

clang-analyzer-core.DynamicTypePropagation

clang-analyzer-core.uninitialized.CapturedBlockVariable

clang-analyzer-cplusplus.InnerPointer

clang-analyzer-nullability.NullableReturnedFromNonnull

clang-analyzer-optin.osx.OSObjectCStyleCast

clang-analyzer-optin.performance.GCDAntipattern

clang-analyzer-optin.performance.Padding

clang-analyzer-optin.portability.UnixAPI

clang-analyzer-osx.MIG

clang-analyzer-osx.NumberObjectConversion

clang-analyzer-osx.OSObjectRetainCount

clang-analyzer-osx.ObjCProperty

clang-analyzer-osx.cocoa.AutoreleaseWrite

clang-analyzer-osx.cocoa.Loops

clang-analyzer-osx.cocoa.MissingSuperCall

clang-analyzer-osx.cocoa.NonNilReturnValue

clang-analyzer-osx.cocoa.RunLoopAutoreleaseLeak

clang-analyzer-valist.CopyToSelf

clang-analyzer-valist.Uninitialized

clang-analyzer-valist.Unterminated

concurrency-mt-unsafe

concurrency-thread-canceltype-asynchronous

cppcoreguidelines-avoid-goto

cppcoreguidelines-avoid-non-const-global-variables

cppcoreguidelines-init-variables

Yes

cppcoreguidelines-interfaces-global-init

cppcoreguidelines-macro-usage

cppcoreguidelines-narrowing-conversions

cppcoreguidelines-no-malloc

cppcoreguidelines-owning-memory

cppcoreguidelines-prefer-member-initializer

Yes

cppcoreguidelines-pro-bounds-array-to-pointer-decay

cppcoreguidelines-pro-bounds-constant-array-index

Yes

cppcoreguidelines-pro-bounds-pointer-arithmetic

cppcoreguidelines-pro-type-const-cast

cppcoreguidelines-pro-type-cstyle-cast

Yes

cppcoreguidelines-pro-type-member-init

Yes

cppcoreguidelines-pro-type-reinterpret-cast

cppcoreguidelines-pro-type-static-cast-downcast

Yes

cppcoreguidelines-pro-type-union-access

cppcoreguidelines-pro-type-vararg

cppcoreguidelines-slicing

cppcoreguidelines-special-member-functions

cppcoreguidelines-virtual-class-destructor

Yes

darwin-avoid-spinlock

darwin-dispatch-once-nonstatic

Yes

fuchsia-default-arguments-calls

fuchsia-default-arguments-declarations

Yes

fuchsia-multiple-inheritance

fuchsia-overloaded-operator

fuchsia-statically-constructed-objects

fuchsia-trailing-return

fuchsia-virtual-inheritance

google-build-explicit-make-pair

google-build-namespaces

google-build-using-namespace

google-default-arguments

google-explicit-constructor

Yes

google-global-names-in-headers

google-objc-avoid-nsobject-new

google-objc-avoid-throwing-exception

google-objc-function-naming

google-objc-global-variable-declaration

google-readability-avoid-underscore-in-googletest-name

google-readability-casting

google-readability-todo

google-runtime-int

google-runtime-operator

google-upgrade-googletest-case

Yes

hicpp-avoid-goto

hicpp-exception-baseclass

hicpp-multiway-paths-covered

hicpp-no-assembler

hicpp-signed-bitwise

linuxkernel-must-use-errs

llvm-header-guard

llvm-include-order

Yes

llvm-namespace-comment

llvm-prefer-isa-or-dyn-cast-in-conditionals

Yes

llvm-prefer-register-over-unsigned

Yes

llvm-twine-local

Yes

llvmlibc-callee-namespace

llvmlibc-implementation-in-namespace

llvmlibc-restrict-system-libc-headers

Yes

misc-confusable-identifiers

misc-const-correctness

Yes

misc-definitions-in-headers

Yes

misc-misleading-bidirectional

misc-misleading-identifier

misc-misplaced-const

misc-new-delete-overloads

misc-no-recursion

misc-non-copyable-objects

misc-non-private-member-variables-in-classes

misc-redundant-expression

Yes

misc-static-assert

Yes

misc-throw-by-value-catch-by-reference

misc-unconventional-assign-operator

misc-uniqueptr-reset-release

Yes

misc-unused-alias-decls

Yes

misc-unused-parameters

Yes

misc-unused-using-decls

Yes

modernize-avoid-bind

Yes

modernize-avoid-c-arrays

modernize-concat-nested-namespaces

Yes

modernize-deprecated-headers

Yes

modernize-deprecated-ios-base-aliases

Yes

modernize-loop-convert

Yes

modernize-macro-to-enum

Yes

modernize-make-shared

Yes

modernize-make-unique

Yes

modernize-pass-by-value

Yes

modernize-raw-string-literal

Yes

modernize-redundant-void-arg

Yes

modernize-replace-auto-ptr

Yes

modernize-replace-disallow-copy-and-assign-macro

Yes

modernize-replace-random-shuffle

Yes

modernize-return-braced-init-list

Yes

modernize-shrink-to-fit

Yes

modernize-unary-static-assert

Yes

modernize-use-auto

Yes

modernize-use-bool-literals

Yes

modernize-use-default-member-init

Yes

modernize-use-emplace

Yes

modernize-use-equals-default

Yes

modernize-use-equals-delete

Yes

modernize-use-nodiscard

Yes

modernize-use-noexcept

Yes

modernize-use-nullptr

Yes

modernize-use-override

Yes

modernize-use-trailing-return-type

Yes

modernize-use-transparent-functors

Yes

modernize-use-uncaught-exceptions

Yes

modernize-use-using

Yes

mpi-buffer-deref

Yes

mpi-type-mismatch

Yes

objc-assert-equals

Yes

objc-avoid-nserror-init

objc-dealloc-in-category

objc-forbidden-subclassing

objc-missing-hash

objc-nsinvocation-argument-lifetime

Yes

objc-property-declaration

Yes

objc-super-self

Yes

openmp-exception-escape

openmp-use-default-none

performance-faster-string-find

Yes

performance-for-range-copy

Yes

performance-implicit-conversion-in-loop

performance-inefficient-algorithm

Yes

performance-inefficient-string-concatenation

performance-inefficient-vector-operation

Yes

performance-move-const-arg

Yes

performance-move-constructor-init

performance-no-automatic-move

performance-no-int-to-ptr

performance-noexcept-move-constructor

Yes

performance-trivially-destructible

Yes

performance-type-promotion-in-math-fn

Yes

performance-unnecessary-copy-initialization

Yes

performance-unnecessary-value-param

Yes

portability-restrict-system-includes

Yes

portability-simd-intrinsics

portability-std-allocator-const

readability-avoid-const-params-in-decls

Yes

readability-braces-around-statements

Yes

readability-const-return-type

Yes

readability-container-contains

Yes

readability-container-data-pointer

Yes

readability-container-size-empty

Yes

readability-convert-member-functions-to-static

Yes

readability-delete-null-pointer

Yes

readability-duplicate-include

Yes

readability-else-after-return

Yes

readability-function-cognitive-complexity

readability-function-size

readability-identifier-length

readability-identifier-naming

Yes

readability-implicit-bool-conversion

Yes

readability-inconsistent-declaration-parameter-name

Yes

readability-isolate-declaration

Yes

readability-magic-numbers

readability-make-member-function-const

Yes

readability-misleading-indentation

readability-misplaced-array-index

Yes

readability-named-parameter

Yes

readability-non-const-parameter

Yes

readability-qualified-auto

Yes

readability-redundant-access-specifiers

Yes

readability-redundant-control-flow

Yes

readability-redundant-declaration

Yes

readability-redundant-function-ptr-dereference

Yes

readability-redundant-member-init

Yes

readability-redundant-preprocessor

readability-redundant-smartptr-get

Yes

readability-redundant-string-cstr

Yes

readability-redundant-string-init

Yes

readability-simplify-boolean-expr

Yes

readability-simplify-subscript-expr

Yes

readability-static-accessed-through-instance

Yes

readability-static-definition-in-anonymous-namespace

Yes

readability-string-compare

Yes

readability-suspicious-call-argument

readability-uniqueptr-delete-release

Yes

readability-uppercase-literal-suffix

Yes

readability-use-anyofallof

zircon-temporary-objects

Aliases..

Name

Redirect

Offers fixes

bugprone-narrowing-conversions

cppcoreguidelines-narrowing-conversions

cert-con36-c

bugprone-spuriously-wake-up-functions

cert-con54-cpp

bugprone-spuriously-wake-up-functions

cert-dcl03-c

misc-static-assert

Yes

cert-dcl16-c

readability-uppercase-literal-suffix

Yes

cert-dcl37-c

bugprone-reserved-identifier

Yes

cert-dcl51-cpp

bugprone-reserved-identifier

Yes

cert-dcl54-cpp

misc-new-delete-overloads

cert-dcl59-cpp

google-build-namespaces

cert-err09-cpp

misc-throw-by-value-catch-by-reference

cert-err61-cpp

misc-throw-by-value-catch-by-reference

cert-exp42-c

bugprone-suspicious-memory-comparison

cert-fio38-c

misc-non-copyable-objects

cert-flp37-c

bugprone-suspicious-memory-comparison

cert-msc30-c

cert-msc50-cpp

cert-msc32-c

cert-msc51-cpp

cert-oop11-cpp

performance-move-constructor-init

cert-oop54-cpp

bugprone-unhandled-self-assignment

cert-pos44-c

bugprone-bad-signal-to-kill-thread

cert-pos47-c

concurrency-thread-canceltype-asynchronous

cert-sig30-c

bugprone-signal-handler

cert-str34-c

bugprone-signed-char-misuse

clang-analyzer-core.CallAndMessage

Clang Static Analyzer core.CallAndMessage

clang-analyzer-core.DivideZero

Clang Static Analyzer core.DivideZero

clang-analyzer-core.NonNullParamChecker

Clang Static Analyzer core.NonNullParamChecker

clang-analyzer-core.NullDereference

Clang Static Analyzer core.NullDereference

clang-analyzer-core.StackAddressEscape

Clang Static Analyzer core.StackAddressEscape

clang-analyzer-core.UndefinedBinaryOperatorResult

Clang Static Analyzer core.UndefinedBinaryOperatorResult

clang-analyzer-core.VLASize

Clang Static Analyzer core.VLASize

clang-analyzer-core.uninitialized.ArraySubscript

Clang Static Analyzer core.uninitialized.ArraySubscript

clang-analyzer-core.uninitialized.Assign

Clang Static Analyzer core.uninitialized.Assign

clang-analyzer-core.uninitialized.Branch

Clang Static Analyzer core.uninitialized.Branch

clang-analyzer-core.uninitialized.UndefReturn

Clang Static Analyzer core.uninitialized.UndefReturn

clang-analyzer-cplusplus.Move

Clang Static Analyzer cplusplus.Move

clang-analyzer-cplusplus.NewDelete

Clang Static Analyzer cplusplus.NewDelete

clang-analyzer-cplusplus.NewDeleteLeaks

Clang Static Analyzer cplusplus.NewDeleteLeaks

clang-analyzer-deadcode.DeadStores

Clang Static Analyzer deadcode.DeadStores

clang-analyzer-nullability.NullPassedToNonnull

Clang Static Analyzer nullability.NullPassedToNonnull

clang-analyzer-nullability.NullReturnedFromNonnull

Clang Static Analyzer nullability.NullReturnedFromNonnull

clang-analyzer-nullability.NullableDereferenced

Clang Static Analyzer nullability.NullableDereferenced

clang-analyzer-nullability.NullablePassedToNonnull

Clang Static Analyzer nullability.NullablePassedToNonnull

clang-analyzer-optin.cplusplus.UninitializedObject

Clang Static Analyzer optin.cplusplus.UninitializedObject

clang-analyzer-optin.cplusplus.VirtualCall

Clang Static Analyzer optin.cplusplus.VirtualCall

clang-analyzer-optin.mpi.MPI-Checker

Clang Static Analyzer optin.mpi.MPI-Checker

clang-analyzer-optin.osx.cocoa.localizability.EmptyLocalizationContextChecker

Clang Static Analyzer optin.osx.cocoa.localizability.EmptyLocalizationContextChecker

clang-analyzer-optin.osx.cocoa.localizability.NonLocalizedStringChecker

Clang Static Analyzer optin.osx.cocoa.localizability.NonLocalizedStringChecker

clang-analyzer-osx.API

Clang Static Analyzer osx.API

clang-analyzer-osx.SecKeychainAPI

Clang Static Analyzer osx.SecKeychainAPI

clang-analyzer-osx.cocoa.AtSync

Clang Static Analyzer osx.cocoa.AtSync

clang-analyzer-osx.cocoa.ClassRelease

Clang Static Analyzer osx.cocoa.ClassRelease

clang-analyzer-osx.cocoa.Dealloc

Clang Static Analyzer osx.cocoa.Dealloc

clang-analyzer-osx.cocoa.IncompatibleMethodTypes

Clang Static Analyzer osx.cocoa.IncompatibleMethodTypes

clang-analyzer-osx.cocoa.NSAutoreleasePool

Clang Static Analyzer osx.cocoa.NSAutoreleasePool

clang-analyzer-osx.cocoa.NSError

Clang Static Analyzer osx.cocoa.NSError

clang-analyzer-osx.cocoa.NilArg

Clang Static Analyzer osx.cocoa.NilArg

clang-analyzer-osx.cocoa.ObjCGenerics

Clang Static Analyzer osx.cocoa.ObjCGenerics

clang-analyzer-osx.cocoa.RetainCount

Clang Static Analyzer osx.cocoa.RetainCount

clang-analyzer-osx.cocoa.SelfInit

Clang Static Analyzer osx.cocoa.SelfInit

clang-analyzer-osx.cocoa.SuperDealloc

Clang Static Analyzer osx.cocoa.SuperDealloc

clang-analyzer-osx.cocoa.UnusedIvars

Clang Static Analyzer osx.cocoa.UnusedIvars

clang-analyzer-osx.cocoa.VariadicMethodTypes

Clang Static Analyzer osx.cocoa.VariadicMethodTypes

clang-analyzer-osx.coreFoundation.CFError

Clang Static Analyzer osx.coreFoundation.CFError

clang-analyzer-osx.coreFoundation.CFNumber

Clang Static Analyzer osx.coreFoundation.CFNumber

clang-analyzer-osx.coreFoundation.CFRetainRelease

Clang Static Analyzer osx.coreFoundation.CFRetainRelease

clang-analyzer-osx.coreFoundation.containers.OutOfBounds

Clang Static Analyzer osx.coreFoundation.containers.OutOfBounds

clang-analyzer-osx.coreFoundation.containers.PointerSizedValues

Clang Static Analyzer osx.coreFoundation.containers.PointerSizedValues

clang-analyzer-security.FloatLoopCounter

Clang Static Analyzer security.FloatLoopCounter

clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling

Clang Static Analyzer security.insecureAPI.DeprecatedOrUnsafeBufferHandling

clang-analyzer-security.insecureAPI.UncheckedReturn

Clang Static Analyzer security.insecureAPI.UncheckedReturn

clang-analyzer-security.insecureAPI.bcmp

Clang Static Analyzer security.insecureAPI.bcmp

clang-analyzer-security.insecureAPI.bcopy

Clang Static Analyzer security.insecureAPI.bcopy

clang-analyzer-security.insecureAPI.bzero

Clang Static Analyzer security.insecureAPI.bzero

clang-analyzer-security.insecureAPI.getpw

Clang Static Analyzer security.insecureAPI.getpw

clang-analyzer-security.insecureAPI.gets

Clang Static Analyzer security.insecureAPI.gets

clang-analyzer-security.insecureAPI.mkstemp

Clang Static Analyzer security.insecureAPI.mkstemp

clang-analyzer-security.insecureAPI.mktemp

Clang Static Analyzer security.insecureAPI.mktemp

clang-analyzer-security.insecureAPI.rand

Clang Static Analyzer security.insecureAPI.rand

clang-analyzer-security.insecureAPI.strcpy

Clang Static Analyzer security.insecureAPI.strcpy

clang-analyzer-security.insecureAPI.vfork

Clang Static Analyzer security.insecureAPI.vfork

clang-analyzer-unix.API

Clang Static Analyzer unix.API

clang-analyzer-unix.Malloc

Clang Static Analyzer unix.Malloc

clang-analyzer-unix.MallocSizeof

Clang Static Analyzer unix.MallocSizeof

clang-analyzer-unix.MismatchedDeallocator

Clang Static Analyzer unix.MismatchedDeallocator

clang-analyzer-unix.Vfork

Clang Static Analyzer unix.Vfork

clang-analyzer-unix.cstring.BadSizeArg

Clang Static Analyzer unix.cstring.BadSizeArg

clang-analyzer-unix.cstring.NullArg

Clang Static Analyzer unix.cstring.NullArg

cppcoreguidelines-avoid-c-arrays

modernize-avoid-c-arrays

cppcoreguidelines-avoid-magic-numbers

readability-magic-numbers

cppcoreguidelines-c-copy-assignment-signature

misc-unconventional-assign-operator

cppcoreguidelines-explicit-virtual-functions

modernize-use-override

Yes

cppcoreguidelines-macro-to-enum

modernize-macro-to-enum

Yes

cppcoreguidelines-non-private-member-variables-in-classes

misc-non-private-member-variables-in-classes

fuchsia-header-anon-namespaces

google-build-namespaces

google-readability-braces-around-statements

readability-braces-around-statements

Yes

google-readability-function-size

readability-function-size

google-readability-namespace-comments

llvm-namespace-comment

hicpp-avoid-c-arrays

modernize-avoid-c-arrays

hicpp-braces-around-statements

readability-braces-around-statements

Yes

hicpp-deprecated-headers

modernize-deprecated-headers

Yes

hicpp-explicit-conversions

google-explicit-constructor

Yes

hicpp-function-size

readability-function-size

hicpp-invalid-access-moved

bugprone-use-after-move

hicpp-member-init

cppcoreguidelines-pro-type-member-init

Yes

hicpp-move-const-arg

performance-move-const-arg

Yes

hicpp-named-parameter

readability-named-parameter

Yes

hicpp-new-delete-operators

misc-new-delete-overloads

hicpp-no-array-decay

cppcoreguidelines-pro-bounds-array-to-pointer-decay

hicpp-no-malloc

cppcoreguidelines-no-malloc

hicpp-noexcept-move

performance-noexcept-move-constructor

Yes

hicpp-special-member-functions

cppcoreguidelines-special-member-functions

hicpp-static-assert

misc-static-assert

Yes

hicpp-undelegated-constructor

bugprone-undelegated-constructor

hicpp-uppercase-literal-suffix

readability-uppercase-literal-suffix

Yes

hicpp-use-auto

modernize-use-auto

Yes

hicpp-use-emplace

modernize-use-emplace

Yes

hicpp-use-equals-default

modernize-use-equals-default

Yes

hicpp-use-equals-delete

modernize-use-equals-delete

Yes

hicpp-use-noexcept

modernize-use-noexcept

Yes

hicpp-use-nullptr

modernize-use-nullptr

Yes

hicpp-use-override

modernize-use-override

Yes

hicpp-vararg

cppcoreguidelines-pro-type-vararg

llvm-else-after-return

readability-else-after-return

Yes

llvm-qualified-auto

readability-qualified-auto

Yes