1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
# options to filter out, and why
--all-warnings alias for -Wall
--extra-warnings alias for -Wextra
-Wabi this is now a no-op
-Wabi-tag c++
-Wabi= c++
-Waggregate-return obsolescent
-Waliasing fortran
-Walign-commons fortran
-Waligned-new=[none|global|all] c++
-Walloc-size-larger-than=<bytes> handled specially by gl_MANYWARN_ALL_GCC
-Walloc-zero Gnulib fixes this problem
-Walloca we like alloca in small doses
-Walloca-larger-than=<number> FIXME: choose something sane?
-Wampersand fortran
-Warray-bounds covered by -Warray-bounds=
-Warray-bounds=<0,2> handled specially by gl_MANYWARN_ALL_GCC
-Warray-temporaries fortran
-Wassign-intercept objc/objc++
-Wattribute-alias covered by -Wattribute-alias=2
-Wattribute-alias=<0,2> handled specially by gl_MANYWARN_ALL_GCC
-Wc++-compat only useful for code meant to be compiled by a C++ compiler
-Wc++0x-compat c++
-Wc++11-compat c++
-Wc++14-compat c++
-Wc++17-compat c++
-Wc++1z-compat c++
-Wc++20-compat c++
-Wc++2a-compat c++
-Wc-binding-type fortran
-Wc11-c2x-compat c compatibility
-Wc90-c99-compat c compatibility
-Wc99-c11-compat c compatibility
-Wcast-qual FIXME maybe? too much noise; encourages bad changes
-Wcast-result D
-Wcatch-value c++
-Wcatch-value=<0,3> c++
-Wcharacter-truncation fortran
-Wchkp deprecated
-Wclass-conversion c++ and objc++
-Wclass-memaccess c++
-Wcomma-subscript c++ and objc++
-Wcompare-reals fortran
-Wconditionally-supported c++ and objc++
-Wconversion FIXME maybe? too much noise; encourages bad changes
-Wconversion-extra fortran
-Wconversion-null c++ and objc++
-Wctor-dtor-privacy c++
-Wdeclaration-after-statement FIXME: do not want. others may
-Wdelete-incomplete c++ and objc++
-Wdelete-non-virtual-dtor c++
-Wdeprecated-copy c++ and objc++
-Wdeprecated-copy-dtor c++ and objc++
-Wdo-subscript fortran
-Weffc++ c++
-Werror-implicit-function-declaration deprecated
-Wextra-semi c++
-Wfloat-conversion FIXME maybe? borderline. some will want this
-Wfloat-equal FIXME maybe? borderline. some will want this
-Wformat covered by -Wformat=2
-Wformat-overflow<0,2> gcc --help=warnings artifact
-Wformat-overflow=<0,2> handled specially by gl_MANYWARN_ALL_GCC
-Wformat-truncation covered by -Wformat-truncation=2
-Wformat-truncation=<0,2> handled specially by gl_MANYWARN_ALL_GCC
-Wformat=<0,2> gcc --help=warnings artifact
-Wframe-larger-than=<byte-size> FIXME: choose something sane?
-Wfunction-elimination fortran
-Wimplicit-fallthrough covered by -Wimplicit-fallthrough=2
-Wimplicit-fallthrough=<0,5> handled specially by gl_MANYWARN_ALL_GCC
-Wimplicit-interface fortran
-Wimplicit-procedure fortran
-Winaccessible-base c++ and objc++
-Winherited-variadic-ctor c++
-Winit-list-lifetime c++ and objc++
-Winteger-division fortran
-Wintrinsic-shadow fortran
-Wintrinsics-std fortran
-Winvalid-offsetof c++ and objc++
-Wjump-misses-init only useful for code meant to be compiled by a C++ compiler
-Wlarger-than- gcc --help=warnings artifact
-Wlarger-than=<byte-size> FIXME: choose something sane?
-Wline-truncation fortran
-Wliteral-suffix c++ and objc++
-Wlong-long obsolescent
-Wlto-type-mismatch c++ and objc++
-Wmismatched-tags c++ and objc++
-Wmissing-format-attribute obsolescent
-Wmissing-noreturn obsolescent
-Wmultiple-inheritance c++ and objc++
-Wnamespaces c++
-Wno-alloc-size-larger-than see -Walloc-size-larger-than
-Wno-alloca-larger-than see -Walloca-larger-than
-Wno-frame-larger-than see -Wframe-larger-than
-Wno-larger-than see -Wlarger-than
-Wno-stack-usage see -Wstack-usage
-Wno-vla-larger-than see -Wvla-larger-than
-Wnoexcept c++
-Wnoexcept-type c++
-Wnon-template-friend c++
-Wnon-virtual-dtor c++
-Wnormalized covered by -Wnormalized=
-Wnormalized=[none|id|nfc|nfkc] handled specially by gl_MANYWARN_ALL_GCC
-Wold-style-cast c++ and objc++
-Woverloaded-virtual c++
-Woverride-init-side-effects c++ and objc++
-Woverwrite-recursive fortran
-Wpadded FIXME maybe? warns about "stabil" member in /usr/include/bits/timex.h
-Wpedantic FIXME: too strict?
-Wpessimizing-move c++ and objc++
-Wplacement-new c++
-Wplacement-new=<0,2> c++
-Wpmf-conversions c++ and objc++
-Wprio-ctor-dtor c++
-Wproperty-assign-default objc++
-Wprotocol objc++
-Wreal-q-constant fortran
-Wrealloc-lhs fortran
-Wrealloc-lhs-all fortran
-Wredundant-decls FIXME maybe? many _gl_cxxalias_dummy FPs
-Wredundant-move c++ and objc++
-Wredundant-tags c++ and objc++
-Wregister c++ and objc++
-Wreorder c++ and objc++
-Wselector objc and objc++
-Wshadow-compatible-local covered by -Wshadow
-Wshadow-ivar objc
-Wshadow-local covered by -Wshadow
-Wshadow=compatible-local covered by -Wshadow
-Wshadow=global covered by -Wshadow
-Wshadow=local covered by -Wshadow
-Wshift-overflow covered by -Wshift-overflow=2
-Wshift-overflow=<0,2> gcc --help=warnings artifact
-Wsign-compare FIXME maybe? borderline. some will want this
-Wsign-conversion FIXME maybe? borderline. some will want this
-Wsign-promo c++ and objc++
-Wsized-deallocation c++ and objc++
-Wstack-usage=<byte-size> FIXME: choose something sane?
-Wstrict-aliasing=<0,3> FIXME: choose something sane?
-Wstrict-null-sentinel c++ and objc++
-Wstrict-overflow=<0,5> FIXME: choose something sane?
-Wstrict-selector-match objc and objc++
-Wstringop-overflow covered by -Wstringop-overflow=
-Wstringop-overflow=<0,4> handled specially by gl_MANYWARN_ALL_GCC
-Wsubobject-linkage c++ and objc++
-Wsuggest-override c++ and objc++
-Wsurprising fortran
-Wswitch-default https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
-Wswitch-enum FIXME maybe? borderline. some will want this
-Wsynth deprecated
-Wtabs fortran
-Wtarget-lifetime fortran
-Wtemplates c++ and objc++
-Wterminate c++ and objc++
-Wtraditional obsolescent
-Wtraditional-conversion obsolescent
-Wundeclared-selector objc and objc++
-Wundef FIXME maybe? too many false positives
-Wundefined-do-loop fortran
-Wunderflow fortran
-Wunreachable-code obsolescent no-op
-Wunsuffixed-float-constants triggers warning in gnulib's timespec.h
-Wunused-const-variable covered by -Wunusec-const-variable=2
-Wunused-const-variable=<0,2> gcc --help=warnings artifact
-Wunused-dummy-argument fortran
-Wuse-without-only fortran
-Wuseless-cast c++ and objc++
-Wvirtual-inheritance c++
-Wvirtual-move-assign c++
-Wvla-larger-than=<number> handled specially by gl_MANYWARN_ALL_GCC
-Wvolatile c++ and objc++
-Wzero-as-null-pointer-constant c++ and objc++
-Wzerotrip fortran
-frequire-return-statement go
|