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 |