Try   HackMD

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-11-2851-g050fc8b27a8 commit of gcc source tree using show-gcc-warnings script.

See also the table of the warnings not enabled by some other option.

Warning Version Enabled by
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-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
attribute-alias 8.1 default
attribute-alias= 9.1 default
attribute-warning 9.1 default
attributes default
bool-compare 5.1 all
bool-operation 7.1 all
builtin-declaration-mismatch 7.1 default
builtin-macro-redefined default
cannot-profile 9.1 default
cast-align
cast-align=strict 8.1
cast-function-type 8.1 extra
cast-qual
catch-value= 8.1 all
char-subscripts all
chkp 5.1 all
class-conversion 9.1 default
class-memaccess 8.1
clobbered extra
comma-subscript 10.1
comment all
conditionally-supported 4.9
conversion
conversion-null default
coverage-mismatch default
cpp default
ctad-maybe-unsupported 11.1
ctor-dtor-privacy
dangling-else 7.1 parentheses
date-time 4.9
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
disabled-optimization
div-by-zero default
double-promotion
duplicated-branches 7.1
duplicated-cond 6.1
empty-body extra
endif-labels default
enum-compare all
expansion-to-defined 7.1 extra
extra extra
extra-semi 8.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
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
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
invalid-imported-macros 11.1
invalid-memory-model 4.7 default
invalid-offsetof default
invalid-pch
larger-than=
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-uninitialized 4.7 uninitialized
memset-elt-size 7.1 all
memset-transposed-args 5.1 all
misleading-indentation 6.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
mudflap default
multichar
multiple-inheritance 6.1
multistatement-macros 8.1 all
namespaces 6.1
narrowing 4.7 all
noexcept
noexcept-type 7.1
non-template-friend default
non-virtual-dtor
nonnull 4.7 format= all
nonnull-compare 6.1 all
normalized=
null-dereference 6.1
odr 5.1 default
old-style-cast
openmp-simd 4.9 all
overflow default
overlength-strings pedantic
overloaded-virtual
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
pragmas default
prio-ctor-dtor 9.1 default
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
sequence-point all
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-pointer-div 8.1 all
sizeof-pointer-memaccess 5.1 all
stack-protector
stack-usage= 4.7
strict-aliasing
strict-aliasing= all
strict-null-sentinel
strict-overflow
strict-overflow= all
string-compare 10.1
stringop-overflow= 7.1
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
templates 6.1
terminate 6.1 default
trampolines
trigraphs all
type-limits extra
undef
uninitialized extra
unknown-pragmas all
unreachable-code
unsafe-loop-optimizations
unused all
unused-but-set-parameter unused && extra
unused-but-set-variable 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
useless-cast 4.8
varargs 4.8 default
variadic-macros default
vector-operation-performance 4.7
virtual-inheritance 6.1
virtual-move-assign 4.8 default
vla
vla-larger-than= 7.1
volatile 10.1
volatile-register-var all
write-strings
zero-as-null-pointer-constant 4.7
zero-length-bounds 10.1 all