]>
Commit | Line | Data |
---|---|---|
fef3106c | 1 | ; Options for the C, ObjC, C++ and ObjC++ front ends. |
ca2b05ba | 2 | ; Copyright (C) 2003, 2004 Free Software Foundation, Inc. |
fef3106c NB |
3 | ; |
4 | ; This file is part of GCC. | |
5 | ; | |
6 | ; GCC is free software; you can redistribute it and/or modify it under | |
7 | ; the terms of the GNU General Public License as published by the Free | |
8 | ; Software Foundation; either version 2, or (at your option) any later | |
9 | ; version. | |
10 | ; | |
11 | ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY | |
12 | ; WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 | ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 | ; for more details. | |
15 | ; | |
16 | ; You should have received a copy of the GNU General Public License | |
17 | ; along with GCC; see the file COPYING. If not, write to the Free | |
18 | ; Software Foundation, 59 Temple Place - Suite 330, Boston, MA | |
19 | ; 02111-1307, USA. | |
20 | ||
21 | ||
22 | ; This file is processed by the script opts.sh. It is a database of | |
23 | ; command line options, with each record separated by a blank line, | |
24 | ; and each field appearing on its own line. The first field is the | |
25 | ; command-line switch with the leading "-" removed. All options | |
26 | ; beginning with "f" or "W" are implicitly assumed to take a "no-" | |
c83857ff NB |
27 | ; form; this form should not be listed. If you do not want this |
28 | ; negative form and you want it to be automatically rejected, add | |
29 | ; RejectNegative to the second field. | |
fef3106c NB |
30 | |
31 | ; The second field is a space-separated list of which parts of the | |
be43ab4e NB |
32 | ; compiler recognize the switch, as declared by "Language" entries. |
33 | ; If the switch takes an argument, then you should also specify | |
34 | ; "Joined" and/or "Separate" to indicate where the argument can | |
7b086b11 NB |
35 | ; appear. If a Joined argument can legitimately be omitted, specify |
36 | ; "JoinedOrMissing" instead of "Joined". If the argument to a switch | |
37 | ; is a non-negative integer, you can specify "UInteger" and the switch | |
38 | ; decoder will convert the argument for you, or complain to the user | |
50431bc4 ZD |
39 | ; if the argument is invalid. "Var(name,set)" creates an integer |
40 | ; variable "name". The variable is declared and initialized to value | |
41 | ; given by "Init(value)" (or zero if this property is not defined). | |
42 | ; When the option is passed to compiler, this variable is set to "set" | |
43 | ; if value passed through the flag is nonzero, !"set" if value is zero, | |
44 | ; or to value if "set" is omitted. If "VarExists" is specified, the | |
45 | ; declaration for the variable is not created. If "Report" is specified, | |
46 | ; the flag is output with -fverbose-asm. | |
fef3106c | 47 | |
cf03fd63 NB |
48 | ; The third field is the help text to output with --help. This is |
49 | ; automatically line-wrapped on output. Normally the switch is output | |
50 | ; automatically, with the help text on the right hand side of the | |
51 | ; output. However, if the help text contains a tab character, the | |
52 | ; text to the left of the tab is output instead of the switch, and the | |
53 | ; text to its right forms the help. This is useful for elaborating on | |
f2ac9964 NB |
54 | ; what type of argument a switch takes, for example. If the second |
55 | ; field contains "Undocumented" then nothing is output with --help. | |
56 | ; Only do this with good reason like the switch being internal between | |
57 | ; the driver and the front end - it is not an excuse to leave a switch | |
58 | ; undocumented. | |
cf03fd63 | 59 | |
fef3106c NB |
60 | ; Comments can appear on their own line anwhere in the file, preceded |
61 | ; by a semicolon. Whitespace is permitted before the semicolon. | |
62 | ||
63 | ; For each switch XXX below, an enumeration constant is created by the | |
64 | ; script opts.sh spelt OPT_XXX, but with all non-alphanumeric | |
65 | ; characters replaced with an underscore. | |
66 | ||
67 | ; Please try to keep this file in ASCII collating order. | |
68 | ||
be43ab4e NB |
69 | Language |
70 | C | |
71 | ||
72 | Language | |
73 | ObjC | |
74 | ||
75 | Language | |
76 | C++ | |
77 | ||
78 | Language | |
79 | ObjC++ | |
80 | ||
fef3106c NB |
81 | -output-pch= |
82 | C ObjC C++ ObjC++ Joined Separate | |
83 | ||
84 | A | |
85 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 86 | -A<question>=<answer> Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question> |
fef3106c NB |
87 | |
88 | C | |
89 | C ObjC C++ ObjC++ | |
72de27ea | 90 | Do not discard comments |
fef3106c NB |
91 | |
92 | CC | |
93 | C ObjC C++ ObjC++ | |
72de27ea | 94 | Do not discard comments in macro expansions |
fef3106c NB |
95 | |
96 | D | |
97 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 98 | -D<macro>[=<val>] Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1 |
fef3106c NB |
99 | |
100 | E | |
f2ac9964 | 101 | C ObjC C++ ObjC++ Undocumented |
fef3106c | 102 | |
94d1613b MS |
103 | F |
104 | C ObjC C++ ObjC++ Joined Separate | |
105 | -F <dir> Add <dir> to the end of the main framework include path | |
106 | ||
fef3106c NB |
107 | H |
108 | C ObjC C++ ObjC++ | |
72de27ea | 109 | Print the name of header files as they are used |
fef3106c NB |
110 | |
111 | I | |
112 | C ObjC C++ ObjC++ Joined Separate | |
4bed3787 | 113 | -I <dir> Add <dir> to the end of the main include path |
fef3106c NB |
114 | |
115 | M | |
116 | C ObjC C++ ObjC++ | |
72de27ea | 117 | Generate make dependencies |
fef3106c NB |
118 | |
119 | MD | |
120 | C ObjC C++ ObjC++ Separate | |
72de27ea | 121 | Generate make dependencies and compile |
fef3106c NB |
122 | |
123 | MF | |
124 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 125 | -MF <file> Write dependency output to the given file |
fef3106c NB |
126 | |
127 | MG | |
128 | C ObjC C++ ObjC++ | |
72de27ea | 129 | Treat missing header files as generated files |
fef3106c NB |
130 | |
131 | MM | |
132 | C ObjC C++ ObjC++ | |
72de27ea | 133 | Like -M but ignore system header files |
fef3106c NB |
134 | |
135 | MMD | |
136 | C ObjC C++ ObjC++ Separate | |
72de27ea | 137 | Like -MD but ignore system header files |
fef3106c NB |
138 | |
139 | MP | |
140 | C ObjC C++ ObjC++ | |
72de27ea | 141 | Generate phony targets for all headers |
fef3106c NB |
142 | |
143 | MQ | |
144 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 145 | -MQ <target> Add a MAKE-quoted target |
fef3106c NB |
146 | |
147 | MT | |
148 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 149 | -MT <target> Add an unquoted target |
fef3106c NB |
150 | |
151 | P | |
152 | C ObjC C++ ObjC++ | |
72de27ea | 153 | Do not generate #line directives |
fef3106c NB |
154 | |
155 | U | |
156 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 157 | -U<macro> Undefine <macro> |
fef3106c NB |
158 | |
159 | Wabi | |
7619c085 DD |
160 | C++ ObjC++ Var(warn_abi) |
161 | Warn about things that will change when compiling with an ABI-compliant compiler | |
fef3106c NB |
162 | |
163 | Wall | |
164 | C ObjC C++ ObjC++ | |
5a170a05 | 165 | Enable most warning messages |
fef3106c NB |
166 | |
167 | Wbad-function-cast | |
7619c085 | 168 | C ObjC Var(warn_bad_function_cast) |
5a170a05 | 169 | Warn about casting functions to incompatible types |
fef3106c NB |
170 | |
171 | Wcast-qual | |
7619c085 | 172 | C ObjC C++ ObjC++ Var(warn_cast_qual) |
5a170a05 | 173 | Warn about casts which discard qualifiers |
fef3106c NB |
174 | |
175 | Wchar-subscripts | |
7619c085 | 176 | C ObjC C++ ObjC++ Var(warn_char_subscripts) |
5a170a05 | 177 | Warn about subscripts whose type is \"char\" |
fef3106c NB |
178 | |
179 | Wcomment | |
180 | C ObjC C++ ObjC++ | |
72de27ea | 181 | Warn about possibly nested block comments, and C++ comments spanning more than one physical line |
fef3106c NB |
182 | |
183 | Wcomments | |
184 | C ObjC C++ ObjC++ | |
72de27ea | 185 | Synonym for -Wcomment |
fef3106c NB |
186 | |
187 | Wconversion | |
7619c085 | 188 | C ObjC C++ ObjC++ Var(warn_conversion) |
5a170a05 | 189 | Warn about possibly confusing type conversions |
fef3106c NB |
190 | |
191 | Wctor-dtor-privacy | |
7619c085 | 192 | C++ ObjC++ Var(warn_ctor_dtor_privacy) |
bae92bf3 | 193 | Warn when all constructors and destructors are private |
fef3106c | 194 | |
85617eba | 195 | Wdeclaration-after-statement |
7619c085 | 196 | C ObjC Var(warn_declaration_after_statement) |
85617eba HPN |
197 | Warn when a declaration is found after a statement |
198 | ||
fef3106c | 199 | Wdeprecated |
7619c085 | 200 | C++ ObjC++ Var(warn_deprecated) Init(1) |
bae92bf3 | 201 | Warn about deprecated compiler features |
fef3106c NB |
202 | |
203 | Wdiv-by-zero | |
7619c085 | 204 | C ObjC Var(warn_div_by_zero) Init(1) |
5a170a05 | 205 | Warn about compile-time integer division by zero |
fef3106c NB |
206 | |
207 | Weffc++ | |
7619c085 | 208 | C++ ObjC++ Var(warn_ecpp) |
bae92bf3 | 209 | Warn about violations of Effective C++ style rules |
fef3106c NB |
210 | |
211 | Wendif-labels | |
212 | C ObjC C++ ObjC++ | |
72de27ea | 213 | Warn about stray tokens after #elif and #endif |
fef3106c NB |
214 | |
215 | Werror | |
216 | C ObjC C++ ObjC++ | |
72de27ea | 217 | ; Documented in common.opt |
fef3106c NB |
218 | |
219 | Werror-implicit-function-declaration | |
c83857ff | 220 | C ObjC RejectNegative |
5a170a05 | 221 | Make implicit function declarations an error |
fef3106c NB |
222 | |
223 | Wfloat-equal | |
7619c085 | 224 | C ObjC C++ ObjC++ Var(warn_float_equal) |
5a170a05 | 225 | Warn if testing floating point numbers for equality |
fef3106c NB |
226 | |
227 | Wformat | |
228 | C ObjC C++ ObjC++ | |
5a170a05 | 229 | Warn about printf/scanf/strftime/strfmon format string anomalies |
fef3106c NB |
230 | |
231 | Wformat-extra-args | |
7619c085 | 232 | C ObjC C++ ObjC++ Var(warn_format_extra_args) |
5a170a05 | 233 | Warn if passing too many arguments to a function for its format string |
fef3106c NB |
234 | |
235 | Wformat-nonliteral | |
7619c085 | 236 | C ObjC C++ ObjC++ Var(warn_format_nonliteral) |
5a170a05 | 237 | Warn about format strings that are not literals |
fef3106c NB |
238 | |
239 | Wformat-security | |
7619c085 | 240 | C ObjC C++ ObjC++ Var(warn_format_security) |
5a170a05 | 241 | Warn about possible security problems with format functions |
fef3106c NB |
242 | |
243 | Wformat-y2k | |
7619c085 | 244 | C ObjC C++ ObjC++ Var(warn_format_y2k) |
5a170a05 | 245 | Warn about strftime formats yielding 2-digit years |
fef3106c NB |
246 | |
247 | Wformat-zero-length | |
7619c085 DD |
248 | C ObjC Var(warn_format_zero_length) |
249 | Warn about zero-length formats | |
fef3106c NB |
250 | |
251 | Wformat= | |
252 | C ObjC C++ ObjC++ Joined | |
253 | ||
3390f9c9 | 254 | Winit-self |
7619c085 | 255 | C ObjC C++ ObjC++ Var(warn_init_self) |
3390f9c9 AP |
256 | Warn about variables which are initialized to themselves. |
257 | ||
fef3106c NB |
258 | Wimplicit |
259 | C ObjC C++ ObjC++ | |
260 | ||
261 | Wimplicit-function-declaration | |
7619c085 | 262 | C ObjC Var(mesg_implicit_function_declaration) Init(-1) |
5a170a05 | 263 | Warn about implicit function declarations |
fef3106c NB |
264 | |
265 | Wimplicit-int | |
7619c085 | 266 | C ObjC Var(warn_implicit_int) |
5a170a05 | 267 | Warn when a declaration does not specify a type |
fef3106c NB |
268 | |
269 | Wimport | |
270 | C ObjC C++ ObjC++ | |
bf42e45b | 271 | Deprecated. This switch has no effect. |
fef3106c NB |
272 | |
273 | Winvalid-offsetof | |
7619c085 | 274 | C++ ObjC++ Var(warn_invalid_offsetof) Init(1) |
bae92bf3 | 275 | Warn about invalid uses of the \"offsetof\" macro |
fef3106c NB |
276 | |
277 | Winvalid-pch | |
278 | C ObjC C++ ObjC++ | |
5a170a05 | 279 | Warn about PCH files that are found but not used |
fef3106c NB |
280 | |
281 | Wlong-long | |
7619c085 | 282 | C ObjC C++ ObjC++ Var(warn_long_long) Init(1) |
5a170a05 | 283 | Do not warn about using \"long long\" when -pedantic |
fef3106c NB |
284 | |
285 | Wmain | |
286 | C ObjC | |
5a170a05 | 287 | Warn about suspicious declarations of \"main\" |
fef3106c NB |
288 | |
289 | Wmissing-braces | |
7619c085 | 290 | C ObjC C++ ObjC++ Var(warn_missing_braces) |
5a170a05 | 291 | Warn about possibly missing braces around initializers |
fef3106c NB |
292 | |
293 | Wmissing-declarations | |
7619c085 | 294 | C ObjC Var(warn_missing_declarations) |
5a170a05 | 295 | Warn about global functions without previous declarations |
fef3106c NB |
296 | |
297 | Wmissing-format-attribute | |
7619c085 | 298 | C ObjC C++ ObjC++ Var(warn_missing_format_attribute) |
5a170a05 | 299 | Warn about functions which might be candidates for format attributes |
fef3106c | 300 | |
b02398bd BE |
301 | Wmissing-include-dirs |
302 | C ObjC C++ ObjC++ | |
303 | Warn about user-specified include directories that do not exist | |
304 | ||
fef3106c | 305 | Wmissing-prototypes |
7619c085 | 306 | C ObjC Var(warn_missing_prototypes) |
5a170a05 | 307 | Warn about global functions without prototypes |
fef3106c NB |
308 | |
309 | Wmultichar | |
310 | C ObjC C++ ObjC++ | |
5a170a05 | 311 | Warn about use of multi-character character constants |
fef3106c NB |
312 | |
313 | Wnested-externs | |
7619c085 | 314 | C ObjC Var(warn_nested_externs) |
5a170a05 | 315 | Warn about \"extern\" declarations not at file scope |
fef3106c NB |
316 | |
317 | Wnon-template-friend | |
7619c085 | 318 | C++ ObjC++ Var(warn_nontemplate_friend) Init(1) |
bae92bf3 | 319 | Warn when non-templatized friend functions are declared within a template |
fef3106c NB |
320 | |
321 | Wnon-virtual-dtor | |
7619c085 | 322 | C++ ObjC++ Var(warn_nonvdtor) |
bae92bf3 | 323 | Warn about non-virtual destructors |
fef3106c NB |
324 | |
325 | Wnonnull | |
7619c085 DD |
326 | C ObjC Var(warn_nonnull) |
327 | Warn about NULL being passed to argument slots marked as requiring non-NULL | |
fef3106c NB |
328 | |
329 | Wold-style-cast | |
7619c085 | 330 | C++ ObjC++ Var(warn_old_style_cast) |
bae92bf3 | 331 | Warn if a C-style cast is used in a program |
fef3106c | 332 | |
c034f121 | 333 | Wold-style-definition |
7619c085 | 334 | C ObjC Var(warn_old_style_definition) |
c034f121 AJ |
335 | Warn if an old-style parameter definition is used |
336 | ||
fef3106c | 337 | Woverloaded-virtual |
7619c085 | 338 | C++ ObjC++ Var(warn_overloaded_virtual) |
bae92bf3 | 339 | Warn about overloaded virtual function names |
fef3106c NB |
340 | |
341 | Wparentheses | |
7619c085 | 342 | C ObjC C++ ObjC++ Var(warn_parentheses) |
5a170a05 | 343 | Warn about possibly missing parentheses |
fef3106c NB |
344 | |
345 | Wpmf-conversions | |
7619c085 | 346 | C++ ObjC++ Var(warn_pmf2ptr) Init(1) |
bae92bf3 | 347 | Warn when converting the type of pointers to member functions |
fef3106c NB |
348 | |
349 | Wpointer-arith | |
7619c085 | 350 | C ObjC C++ ObjC++ Var(warn_pointer_arith) |
5a170a05 | 351 | Warn about function pointer arithmetic |
fef3106c NB |
352 | |
353 | Wprotocol | |
7619c085 | 354 | ObjC ObjC++ Var(warn_protocol) Init(1) |
f2ac9964 | 355 | Warn if inherited methods are unimplemented |
fef3106c NB |
356 | |
357 | Wredundant-decls | |
7619c085 | 358 | C ObjC C++ ObjC++ Var(warn_redundant_decls) |
5a170a05 | 359 | Warn about multiple declarations of the same object |
fef3106c NB |
360 | |
361 | Wreorder | |
7619c085 | 362 | C++ ObjC++ Var(warn_reorder) |
bae92bf3 | 363 | Warn when the compiler reorders code |
fef3106c NB |
364 | |
365 | Wreturn-type | |
366 | C ObjC C++ ObjC++ | |
bae92bf3 | 367 | Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++) |
fef3106c NB |
368 | |
369 | Wselector | |
7619c085 | 370 | ObjC ObjC++ Var(warn_selector) |
f2ac9964 | 371 | Warn if a selector has multiple methods |
fef3106c NB |
372 | |
373 | Wsequence-point | |
3ff0c9ed | 374 | C ObjC C++ ObjC++ Var(warn_sequence_point) |
5a170a05 | 375 | Warn about possible violations of sequence point rules |
fef3106c NB |
376 | |
377 | Wsign-compare | |
7619c085 | 378 | C ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1) |
5a170a05 | 379 | Warn about signed-unsigned comparisons |
fef3106c NB |
380 | |
381 | Wsign-promo | |
7619c085 | 382 | C++ ObjC++ Var(warn_sign_promo) |
bae92bf3 | 383 | Warn when overload promotes from unsigned to signed |
fef3106c NB |
384 | |
385 | Wstrict-prototypes | |
7619c085 | 386 | C ObjC Var(warn_strict_prototypes) |
5a170a05 | 387 | Warn about unprototyped function declarations |
fef3106c NB |
388 | |
389 | Wsynth | |
7619c085 | 390 | C++ ObjC++ Var(warn_synth) |
bae92bf3 | 391 | Warn when synthesis behavior differs from Cfront |
fef3106c NB |
392 | |
393 | Wsystem-headers | |
394 | C ObjC C++ ObjC++ | |
72de27ea | 395 | Do not suppress warnings from system headers |
fef3106c NB |
396 | |
397 | Wtraditional | |
7619c085 | 398 | C ObjC Var(warn_traditional) |
72de27ea | 399 | Warn about features not present in traditional C |
fef3106c NB |
400 | |
401 | Wtrigraphs | |
402 | C ObjC C++ ObjC++ | |
72de27ea | 403 | Warn if trigraphs are encountered that might affect the meaning of the program |
fef3106c NB |
404 | |
405 | Wundeclared-selector | |
7619c085 DD |
406 | ObjC ObjC++ Var(warn_undeclared_selector) |
407 | Warn about @selector()s without previously declared methods | |
fef3106c NB |
408 | |
409 | Wundef | |
410 | C ObjC C++ ObjC++ | |
72de27ea | 411 | Warn if an undefined macro is used in an #if directive |
fef3106c NB |
412 | |
413 | Wunknown-pragmas | |
414 | C ObjC C++ ObjC++ | |
5a170a05 | 415 | Warn about unrecognized pragmas |
fef3106c NB |
416 | |
417 | Wunused-macros | |
418 | C ObjC C++ ObjC++ | |
72de27ea | 419 | Warn about macros defined in the main file that are not used |
fef3106c | 420 | |
e5b79219 RH |
421 | Wvariadic-macros |
422 | C ObjC C++ ObjC++ | |
423 | Do not warn about using variadic macros when -pedantic | |
424 | ||
fef3106c NB |
425 | Wwrite-strings |
426 | C ObjC C++ ObjC++ | |
5a170a05 | 427 | Give strings the type \"array of char\" |
fef3106c NB |
428 | |
429 | ansi | |
430 | C ObjC C++ ObjC++ | |
5a170a05 | 431 | A synonym for -std=c89. In a future version of GCC it will become synonymous with -std=c99 instead |
fef3106c NB |
432 | |
433 | d | |
434 | C ObjC C++ ObjC++ Joined | |
72de27ea | 435 | ; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD? |
fef3106c | 436 | |
fef3106c NB |
437 | faccess-control |
438 | C++ ObjC++ | |
bae92bf3 | 439 | Enforce class member access control semantics |
fef3106c NB |
440 | |
441 | fall-virtual | |
442 | C++ ObjC++ | |
443 | ||
444 | falt-external-templates | |
445 | C++ ObjC++ | |
bae92bf3 | 446 | Change when template instances are emitted |
fef3106c NB |
447 | |
448 | fasm | |
449 | C ObjC C++ ObjC++ | |
5a170a05 | 450 | Recognize the \"asm\" keyword |
fef3106c NB |
451 | |
452 | fbuiltin | |
453 | C ObjC C++ ObjC++ | |
5a170a05 | 454 | Recognize built-in functions |
fef3106c NB |
455 | |
456 | fbuiltin- | |
457 | C ObjC C++ ObjC++ Joined | |
458 | ||
459 | fcheck-new | |
460 | C++ ObjC++ | |
bae92bf3 | 461 | Check the return value of new |
fef3106c NB |
462 | |
463 | fcond-mismatch | |
464 | C ObjC C++ ObjC++ | |
5a170a05 | 465 | Allow the arguments of the '?' operator to have different types |
fef3106c NB |
466 | |
467 | fconserve-space | |
468 | C++ ObjC++ | |
bae92bf3 | 469 | Reduce the size of object files |
fef3106c NB |
470 | |
471 | fconst-strings | |
472 | C++ ObjC++ | |
bae92bf3 | 473 | Make string literals \"const char[]\" not \"char[]\" |
fef3106c NB |
474 | |
475 | fconstant-string-class= | |
476 | ObjC ObjC++ Joined | |
f2ac9964 | 477 | -fconst-string-class=<name> Use class <name> for constant strings |
fef3106c NB |
478 | |
479 | fdefault-inline | |
480 | C++ ObjC++ | |
bae92bf3 | 481 | Inline member functions by default |
fef3106c NB |
482 | |
483 | fdollars-in-identifiers | |
484 | C ObjC C++ ObjC++ | |
72de27ea | 485 | Permit '$' as an identifier character |
fef3106c | 486 | |
fef3106c NB |
487 | felide-constructors |
488 | C++ ObjC++ | |
489 | ||
490 | fenforce-eh-specs | |
491 | C++ ObjC++ | |
bae92bf3 | 492 | Generate code to check exception specifications |
fef3106c NB |
493 | |
494 | fenum-int-equiv | |
495 | C++ ObjC++ | |
496 | ||
e6cc3a24 ZW |
497 | fexec-charset= |
498 | C ObjC C++ ObjC++ Joined RejectNegative | |
72de27ea | 499 | -fexec-charset=<cset> Convert all strings and character constants to character set <cset> |
e6cc3a24 | 500 | |
16dd5cfe EC |
501 | finput-charset= |
502 | C ObjC C++ ObjC++ Joined RejectNegative | |
503 | -finput-charset=<cset> Specify the default character set for source files. | |
504 | ||
505 | ||
fef3106c NB |
506 | fexternal-templates |
507 | C++ ObjC++ | |
508 | ||
509 | ffixed-form | |
510 | C ObjC | |
511 | ||
512 | ffixed-line-length- | |
513 | C ObjC Joined | |
514 | ||
515 | ffor-scope | |
516 | C++ ObjC++ | |
bae92bf3 | 517 | Scope of for-init-statement variables is local to the loop |
fef3106c NB |
518 | |
519 | ffreestanding | |
520 | C ObjC | |
5a170a05 | 521 | Do not assume that standard C libraries and \"main\" exist |
fef3106c NB |
522 | |
523 | fgnu-keywords | |
524 | C++ ObjC++ | |
bae92bf3 | 525 | Recognize GNU-defined keywords |
fef3106c NB |
526 | |
527 | fgnu-runtime | |
528 | ObjC ObjC++ | |
f2ac9964 | 529 | Generate code for GNU runtime environment |
fef3106c NB |
530 | |
531 | fguiding-decls | |
532 | C++ ObjC++ | |
533 | ||
534 | fhandle-exceptions | |
535 | C++ ObjC++ | |
536 | ||
537 | fhonor-std | |
538 | C++ ObjC++ | |
539 | ||
540 | fhosted | |
541 | C ObjC | |
5a170a05 | 542 | Assume normal C execution environment |
fef3106c NB |
543 | |
544 | fhuge-objects | |
545 | C++ ObjC++ | |
bae92bf3 | 546 | Enable support for huge objects |
fef3106c NB |
547 | |
548 | fimplement-inlines | |
549 | C++ ObjC++ | |
bae92bf3 | 550 | Export functions even if they can be inlined |
fef3106c NB |
551 | |
552 | fimplicit-inline-templates | |
553 | C++ ObjC++ | |
bae92bf3 | 554 | Emit implicit instantiations of inline templates |
fef3106c NB |
555 | |
556 | fimplicit-templates | |
557 | C++ ObjC++ | |
bae92bf3 | 558 | Emit implicit instantiations of templates |
fef3106c NB |
559 | |
560 | flabels-ok | |
561 | C++ ObjC++ | |
562 | ||
563 | fms-extensions | |
564 | C ObjC C++ ObjC++ | |
bae92bf3 | 565 | Don't warn about uses of Microsoft extensions |
fef3106c NB |
566 | |
567 | fname-mangling-version- | |
568 | C++ ObjC++ Joined | |
569 | ||
570 | fnew-abi | |
571 | C++ ObjC++ | |
572 | ||
573 | fnext-runtime | |
574 | ObjC ObjC++ | |
264fa2db ZL |
575 | Generate code for NeXT (Apple Mac OS X) runtime environment |
576 | ||
577 | fnil-receivers | |
578 | ObjC ObjC++ | |
579 | Assume that receivers of Objective-C messages may be nil | |
fef3106c NB |
580 | |
581 | fnonansi-builtins | |
582 | C++ ObjC++ | |
583 | ||
584 | fnonnull-objects | |
585 | C++ ObjC++ | |
586 | ||
264fa2db ZL |
587 | fobjc-exceptions |
588 | ObjC ObjC++ | |
589 | Enable Objective-C exception and synchronization syntax | |
590 | ||
093c7153 RH |
591 | fobjc-sjlj-exceptions |
592 | ObjC ObjC++ | |
593 | Enable Objective-C setjmp exception handling runtime | |
594 | ||
fef3106c NB |
595 | foperator-names |
596 | C++ ObjC++ | |
bae92bf3 | 597 | Recognize C++ kewords like \"compl\" and \"xor\" |
fef3106c NB |
598 | |
599 | foptional-diags | |
600 | C++ ObjC++ | |
bae92bf3 | 601 | Enable optional diagnostics |
fef3106c NB |
602 | |
603 | fpch-deps | |
604 | C ObjC C++ ObjC++ | |
605 | ||
c0d578e6 GK |
606 | fpch-preprocess |
607 | C ObjC C++ ObjC++ | |
608 | Look for and use PCH files even when preprocessing | |
609 | ||
fef3106c NB |
610 | fpermissive |
611 | C++ ObjC++ | |
bae92bf3 | 612 | Downgrade conformance errors to warnings |
fef3106c NB |
613 | |
614 | fpreprocessed | |
615 | C ObjC C++ ObjC++ | |
72de27ea | 616 | Treat the input file as already preprocessed |
fef3106c | 617 | |
264fa2db ZL |
618 | freplace-objc-classes |
619 | ObjC ObjC++ | |
620 | Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime | |
621 | ||
fef3106c NB |
622 | frepo |
623 | C++ ObjC++ | |
bae92bf3 | 624 | Enable automatic template instantiation |
fef3106c NB |
625 | |
626 | frtti | |
627 | C++ ObjC++ | |
bae92bf3 | 628 | Generate run time type descriptor information |
fef3106c NB |
629 | |
630 | fshort-double | |
631 | C ObjC C++ ObjC++ | |
5a170a05 | 632 | Use the same size for double as for float |
fef3106c NB |
633 | |
634 | fshort-enums | |
635 | C ObjC C++ ObjC++ | |
5a170a05 | 636 | Use the narrowest integer type possible for enumeration types |
fef3106c NB |
637 | |
638 | fshort-wchar | |
639 | C ObjC C++ ObjC++ | |
5a170a05 | 640 | Force the underlying type for \"wchar_t\" to be \"unsigned short\" |
fef3106c NB |
641 | |
642 | fshow-column | |
643 | C ObjC C++ ObjC++ | |
644 | ||
645 | fsigned-bitfields | |
646 | C ObjC C++ ObjC++ | |
5a170a05 | 647 | When \"signed\" or \"unsigned\" is not given make the bitfield signed |
fef3106c NB |
648 | |
649 | fsigned-char | |
650 | C ObjC C++ ObjC++ | |
5a170a05 | 651 | Make \"char\" signed by default |
fef3106c NB |
652 | |
653 | fsquangle | |
654 | C++ ObjC++ | |
655 | ||
656 | fstats | |
657 | C++ ObjC++ | |
bae92bf3 | 658 | Display statistics accumulated during compilation |
fef3106c NB |
659 | |
660 | fstrict-prototype | |
661 | C++ ObjC++ | |
662 | ||
663 | ftabstop= | |
7b086b11 | 664 | C ObjC C++ ObjC++ Joined RejectNegative UInteger |
72de27ea | 665 | -ftabstop=<number> Distance between tab stops for column reporting |
fef3106c NB |
666 | |
667 | ftemplate-depth- | |
7b086b11 | 668 | C++ ObjC++ Joined RejectNegative UInteger |
bae92bf3 | 669 | -ftemplate-depth-<number> Specify maximum template instantiation depth |
fef3106c NB |
670 | |
671 | fthis-is-variable | |
672 | C++ ObjC++ | |
673 | ||
674 | funsigned-bitfields | |
675 | C ObjC C++ ObjC++ | |
5a170a05 | 676 | When \"signed\" or \"unsigned\" is not given make the bitfield unsigned |
fef3106c NB |
677 | |
678 | funsigned-char | |
679 | C ObjC C++ ObjC++ | |
5a170a05 | 680 | Make \"char\" unsigned by default |
fef3106c NB |
681 | |
682 | fuse-cxa-atexit | |
683 | C++ ObjC++ | |
bae92bf3 | 684 | Use __cxa_atexit to register destructors |
fef3106c NB |
685 | |
686 | fvtable-gc | |
687 | C++ ObjC++ | |
bae92bf3 | 688 | Discard unused virtual functions |
fef3106c NB |
689 | |
690 | fvtable-thunks | |
691 | C++ ObjC++ | |
bae92bf3 | 692 | Implement vtables using thunks |
fef3106c NB |
693 | |
694 | fweak | |
695 | C++ ObjC++ | |
bae92bf3 | 696 | Emit common-like symbols as weak symbols |
fef3106c | 697 | |
e6cc3a24 ZW |
698 | fwide-exec-charset= |
699 | C ObjC C++ ObjC++ Joined RejectNegative | |
72de27ea | 700 | -fwide-exec-charset=<cset> Convert all wide strings and character constants to character set <cset> |
e6cc3a24 | 701 | |
b20d9f0c AO |
702 | fworking-directory |
703 | C ObjC C++ ObjC++ | |
704 | Generate a #line directive pointing at the current working directory | |
705 | ||
fef3106c NB |
706 | fxref |
707 | C++ ObjC++ | |
bae92bf3 | 708 | Emit cross referencing information |
fef3106c | 709 | |
264fa2db ZL |
710 | fzero-link |
711 | ObjC ObjC++ | |
712 | Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode | |
713 | ||
fef3106c NB |
714 | gen-decls |
715 | ObjC ObjC++ | |
f2ac9964 | 716 | Dump declarations to a .decl file |
fef3106c NB |
717 | |
718 | idirafter | |
719 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 720 | -idirafter <dir> Add <dir> to the end of the system include path |
fef3106c NB |
721 | |
722 | imacros | |
723 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 724 | -imacros <file> Accept definition of macros in <file> |
fef3106c NB |
725 | |
726 | include | |
727 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 728 | -include <file> Include the contents of <file> before other files |
fef3106c NB |
729 | |
730 | iprefix | |
731 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 732 | -iprefix <path> Specify <path> as a prefix for next two options |
fef3106c NB |
733 | |
734 | isysroot | |
735 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 736 | -isysroot <dir> Set <dir> to be the system root directory |
fef3106c NB |
737 | |
738 | isystem | |
739 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 740 | -isystem <dir> Add <dir> to the start of the system include path |
fef3106c | 741 | |
4bed3787 MS |
742 | iquote |
743 | C ObjC C++ ObjC++ Joined Separate | |
744 | -iquote <dir> Add <dir> to the end of the quote include path | |
745 | ||
fef3106c NB |
746 | iwithprefix |
747 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 748 | -iwithprefix <dir> Add <dir> to the end of the system include path |
fef3106c NB |
749 | |
750 | iwithprefixbefore | |
751 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 752 | -iwithprefixbefore <dir> Add <dir> to the end of the main include path |
fef3106c NB |
753 | |
754 | lang-asm | |
f2ac9964 | 755 | C Undocumented |
fef3106c NB |
756 | |
757 | lang-objc | |
f2ac9964 | 758 | C ObjC C++ ObjC++ Undocumented |
fef3106c NB |
759 | |
760 | nostdinc | |
761 | C ObjC C++ ObjC++ | |
72de27ea | 762 | Do not search standard system include directories (those specified with -isystem will still be used) |
fef3106c NB |
763 | |
764 | nostdinc++ | |
72de27ea NB |
765 | C++ ObjC++ |
766 | Do not search standard system include directories for C++ | |
fef3106c NB |
767 | |
768 | o | |
769 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 770 | ; Documented in common.opt |
fef3106c NB |
771 | |
772 | pedantic | |
773 | C ObjC C++ ObjC++ | |
72de27ea | 774 | ; Documented in common.opt |
fef3106c NB |
775 | |
776 | pedantic-errors | |
777 | C ObjC C++ ObjC++ | |
72de27ea | 778 | ; Documented in common.opt |
fef3106c NB |
779 | |
780 | print-objc-runtime-info | |
781 | ObjC ObjC++ | |
f2ac9964 | 782 | Generate C header of platform-specific features |
fef3106c NB |
783 | |
784 | remap | |
785 | C ObjC C++ ObjC++ | |
72de27ea | 786 | Remap file names when including files |
fef3106c NB |
787 | |
788 | std=c++98 | |
789 | C++ ObjC++ | |
72de27ea | 790 | Conform to the ISO 1998 C++ standard |
fef3106c NB |
791 | |
792 | std=c89 | |
793 | C ObjC | |
72de27ea | 794 | Conform to the ISO 1990 C standard |
fef3106c NB |
795 | |
796 | std=c99 | |
797 | C ObjC | |
72de27ea | 798 | Conform to the ISO 1999 C standard |
fef3106c NB |
799 | |
800 | std=c9x | |
801 | C ObjC | |
72de27ea | 802 | Deprecated in favor of -std=c99 |
fef3106c NB |
803 | |
804 | std=gnu++98 | |
805 | C++ ObjC++ | |
72de27ea | 806 | Conform to the ISO 1998 C++ standard with GNU extensions |
fef3106c NB |
807 | |
808 | std=gnu89 | |
809 | C ObjC | |
72de27ea | 810 | Conform to the ISO 1990 C standard with GNU extensions |
fef3106c NB |
811 | |
812 | std=gnu99 | |
813 | C ObjC | |
72de27ea | 814 | Conform to the ISO 1999 C standard with GNU extensions |
fef3106c NB |
815 | |
816 | std=gnu9x | |
817 | C ObjC | |
72de27ea | 818 | Deprecated in favor of -std=gnu99 |
fef3106c NB |
819 | |
820 | std=iso9899:1990 | |
821 | C ObjC | |
72de27ea | 822 | Deprecated in favor of -std=c89 |
fef3106c NB |
823 | |
824 | std=iso9899:199409 | |
825 | C ObjC | |
72de27ea | 826 | Conform to the ISO 1990 C standard as amended in 1994 |
fef3106c NB |
827 | |
828 | std=iso9899:1999 | |
829 | C ObjC | |
72de27ea | 830 | Deprecated in favor of -std=c99 |
fef3106c NB |
831 | |
832 | std=iso9899:199x | |
833 | C ObjC | |
72de27ea | 834 | Deprecated in favor of -std=c99 |
fef3106c NB |
835 | |
836 | traditional-cpp | |
837 | C ObjC C++ ObjC++ | |
72de27ea | 838 | Enable traditional preprocessing |
fef3106c NB |
839 | |
840 | trigraphs | |
841 | C ObjC C++ ObjC++ | |
72de27ea | 842 | -trigraphs Support ISO C trigraphs |
fef3106c NB |
843 | |
844 | undef | |
845 | C ObjC C++ ObjC++ | |
72de27ea | 846 | Do not predefine system-specific and GCC-specific macros |
fef3106c NB |
847 | |
848 | v | |
849 | C ObjC C++ ObjC++ | |
72de27ea | 850 | Enable verbose output |
fef3106c NB |
851 | |
852 | w | |
853 | C ObjC C++ ObjC++ | |
72de27ea | 854 | ; Documented in common.opt |
e11a4ae5 NB |
855 | |
856 | ; This comment is to ensure we retain the blank line above. |