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 |