summaryrefslogtreecommitdiff
path: root/build-aux/gcc-warning.spec
blob: 89a0bc7346216363f9737051f2f157fef6ef8fce (plain)
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

Return to:

Send suggestions and report system problems to the System administrator.