All gcc warnings - vadz/gcc-warnings-tools GitHub Wiki

Table of All GCC Warnings

This table collects all gcc warnings used with C++ not enabled by some other option (e.g. -Wall) and indicates the first gcc version the warning appeared in if it's later than gcc 4.6.

It was generated from the files gcc/{common,c-family/c}.opt in basepoints/gcc-13-1056-gff500e1cf16 commit of gcc source tree using show-gcc-warnings script.

See also the table showing only the warnings not enabled by default or by another option, such as -Wall.

Warning Version Enabled by
abbreviated-auto-in-template-arg 16.1 default
abi
abi-tag 4.8
abi= 5.1
address all
address-of-packed-member 9.1 default
aggregate-return
aggressive-loop-optimizations 4.8 default
aligned-new= 7.1 all
all all
alloc-size 14.1
alloc-size-larger-than= 7.1 all
alloc-zero 7.1
alloca 7.1
alloca-larger-than= 7.1
arith-conversion 10.1
array-bounds all
array-bounds= 5.1 all
array-compare 12.1
array-parameter= 11.1 all
attribute-alias 8.1 default
attribute-alias= 9.1 default
attribute-warning 9.1 default
attributes default
attributes= 12.1
auto-profile 16.1
bidi-chars= 12.1
bool-compare 5.1 all
bool-operation 7.1 all
builtin-declaration-mismatch 7.1 default
builtin-macro-redefined default
calloc-transposed-args 14.1 extra
cannot-profile 9.1 default
cast-align
cast-align=strict 8.1
cast-function-type 8.1 extra
cast-qual
cast-user-defined 14.1 default
catch-value= 8.1 all
changes-meaning 13.1 default
char-subscripts all
chkp 5.1 all
class-conversion 9.1 default
class-memaccess 8.1
clobbered extra
comma-subscript 10.1
comment all
complain-wrong-lang 13.1 default
conditionally-supported 4.9
conversion
conversion-null default
coverage-invalid-line-number 12.1 default
coverage-mismatch default
coverage-too-many-conditions 14.1 default
coverage-too-many-paths 15.1 default
cpp default
ctad-maybe-unsupported 11.1
ctor-dtor-privacy
dangling-else 7.1 parentheses
dangling-pointer= 12.1 all
dangling-reference 13.1
date-time 4.9
defaulted-function-deleted 15.1 default
delete-incomplete 4.9 default
delete-non-virtual-dtor 4.7 all
deprecated default
deprecated-copy 9.1
deprecated-copy-dtor 9.1
deprecated-declarations default
deprecated-enum-enum-conversion 11.1
deprecated-enum-float-conversion 11.1
deprecated-literal-operator 15.1
deprecated-openmp 16.1 default
deprecated-variadic-comma-omission 15.1
disabled-optimization
div-by-zero default
double-promotion
duplicated-branches 7.1
duplicated-cond 6.1
elaborated-enum-base 14.1 default
empty-body extra
endif-labels default
enum-compare all
enum-conversion 11.1 extra
exceptions 11.1 default
expansion-to-defined 7.1 extra
expose-global-module-tu-local 16.1 default
external-tu-local 16.1 default
extra extra
extra-semi 8.1
flex-array-member-not-at-end 14.1
float-conversion 4.9 conversion
float-equal
format
format-contains-nul format=
format-diag 10.1 format=
format-extra-args format=
format-nonliteral format=
format-overflow= 7.1 format=
format-security format=
format-signedness 5.1
format-truncation= 7.1 format=
format-zero-length 4.7 format=
format= 4.8 all
frame-address 6.1 all
frame-larger-than=
free-nonheap-object 4.7 default
global-module 14.1 default
hardened 14.1 default
header-guard 15.1 all
hsa 6.1 default
if-not-aligned 8.1 default
ignored-attributes 6.1 default
ignored-qualifiers extra
implicit-fallthrough= 7.1 extra
inaccessible-base 10.1 default
infinite-recursion 12.1
inherited-variadic-ctor 4.8 default
init-list-lifetime 9.1 default
init-self all
inline
int-in-bool-context 7.1 all
int-to-pointer-cast default
interference-size 12.1 default
invalid-constexpr 13.1
invalid-imported-macros 11.1
invalid-memory-model 4.7 default
invalid-offsetof default
invalid-pch
keyword-macro 16.1
larger-than=
leading-whitespace= 15.1
literal-suffix 4.8 default
logical-not-parentheses 5.1 all
logical-op 6.1
long-long
lto-type-mismatch 6.1 default
main all pedantic
maybe-musttail-local-addr 15.1 extra
maybe-uninitialized 4.7 uninitialized
memset-elt-size 7.1 all
memset-transposed-args 5.1 all
misleading-indentation 6.1 all
mismatched-dealloc 11.1 all
mismatched-new-delete 11.1 all
mismatched-tags 10.1
missing-attributes 8.1 all
missing-braces all
missing-declarations
missing-field-initializers extra
missing-format-attribute
missing-include-dirs
missing-noreturn
missing-profile 9.1 default
missing-requires 12.1 default
missing-template-keyword 12.1 default
mudflap default
multichar
multiple-inheritance 6.1
multistatement-macros 8.1 all
musttail-local-addr 15.1 default
namespaces 6.1
narrowing 4.7 all
noexcept
noexcept-type 7.1
non-c-typedef-for-linkage 16.1 default
non-template-friend default
non-virtual-dtor
nonnull 4.7 format= all
nonnull-compare 6.1 all
normalized=
nrvo 14.2
null-dereference 6.1
odr 5.1 default
old-style-cast
openacc-parallelism 12.1
openmp 14.1 default
openmp-simd 4.9 all
overflow default
overlength-strings pedantic
overloaded-virtual
overloaded-virtual= 13.1 all
packed
packed-bitfield-compat
packed-not-aligned 8.1 all
padded
parentheses all
pedantic 4.8 pedantic
pessimizing-move 9.1
placement-new= 6.1
pmf-conversions default
pointer-arith pedantic
pointer-compare 7.1 default
pragma-once-outside-header 15.1 default
pragmas default
prio-ctor-dtor 9.1 default
psabi 15.1 default
range-loop-construct 11.1 all
redundant-decls
redundant-move 9.1 extra
redundant-tags 10.1
register 7.1
reorder all
restrict 7.1
return-local-addr 4.8 default
return-type all
scalar-storage-order 6.1 default
self-move 13.1
sequence-point all
sfinae-incomplete= 16.1 default
shadow
shadow=compatible-local 7.1 shadow=local
shadow=local 7.1 shadow
shift-count-negative 5.1 default
shift-count-overflow 5.1 default
shift-negative-value 6.1
shift-overflow= 6.1
sign-compare extra
sign-conversion conversion
sign-promo
sized-deallocation 5.1 extra
sizeof-array-argument 5.1 default
sizeof-array-div 11.1 all
sizeof-pointer-div 8.1 all
sizeof-pointer-memaccess 5.1 all
stack-protector
stack-usage= 4.7
strict-aliasing
strict-aliasing= all
strict-flex-arrays 13.1
strict-null-sentinel
strict-overflow
strict-overflow= all
string-compare 10.1
stringop-overflow= 7.1
stringop-overread 11.1 default
stringop-truncation 8.1
subobject-linkage 6.1 default
suggest-attribute=cold 8.1
suggest-attribute=const
suggest-attribute=format 4.8
suggest-attribute=malloc 8.1
suggest-attribute=noreturn
suggest-attribute=pure
suggest-final-methods 5.1
suggest-final-types 5.1
suggest-override 5.1
switch all
switch-bool 5.1 default
switch-default
switch-enum
switch-outside-range 10.1 default
switch-unreachable 7.1 default
sync-nand default
synth
system-headers
tautological-compare 6.1 all
template-body 15.1 default
template-id-cdtor 14.1
template-names-tu-local 15.1 extra
templates 6.1
terminate 6.1 default
trailing-whitespace= 15.1
trampolines
trigraphs all
trivial-auto-var-init 12.1
tsan 11.1 default
type-limits extra
undef
unicode 13.1 default
uninitialized extra
unknown-pragmas all
unreachable-code
unsafe-loop-optimizations
unused all
unused-but-set-parameter unused && extra
unused-but-set-parameter= 16.1 unused && extra
unused-but-set-variable unused
unused-but-set-variable= 16.1 unused
unused-const-variable= 6.1 unused-variable
unused-function unused
unused-label unused
unused-local-typedefs 4.7 unused
unused-macros
unused-parameter unused && extra
unused-result default
unused-value unused
unused-variable unused
use-after-free 12.1
use-after-free= 12.1
useless-cast 4.8
varargs 4.8 default
variadic-macros default
vector-operation-performance 4.7
vexing-parse 11.1 default
virtual-inheritance 6.1
virtual-move-assign 4.8 default
vla
vla-larger-than= 7.1
vla-parameter 11.1 all
volatile 10.1
volatile-register-var all
write-strings
xor-used-as-pow 13.1 default
zero-as-null-pointer-constant 4.7
zero-length-bounds 10.1 all