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