]>
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 | |
160 | C++ ObjC++ | |
161 | ||
162 | Wall | |
163 | C ObjC C++ ObjC++ | |
5a170a05 | 164 | Enable most warning messages |
fef3106c NB |
165 | |
166 | Wbad-function-cast | |
167 | C ObjC | |
5a170a05 | 168 | Warn about casting functions to incompatible types |
fef3106c NB |
169 | |
170 | Wcast-qual | |
171 | C ObjC C++ ObjC++ | |
5a170a05 | 172 | Warn about casts which discard qualifiers |
fef3106c NB |
173 | |
174 | Wchar-subscripts | |
175 | C ObjC C++ ObjC++ | |
5a170a05 | 176 | Warn about subscripts whose type is \"char\" |
fef3106c NB |
177 | |
178 | Wcomment | |
179 | C ObjC C++ ObjC++ | |
72de27ea | 180 | Warn about possibly nested block comments, and C++ comments spanning more than one physical line |
fef3106c NB |
181 | |
182 | Wcomments | |
183 | C ObjC C++ ObjC++ | |
72de27ea | 184 | Synonym for -Wcomment |
fef3106c NB |
185 | |
186 | Wconversion | |
187 | C ObjC C++ ObjC++ | |
5a170a05 | 188 | Warn about possibly confusing type conversions |
fef3106c NB |
189 | |
190 | Wctor-dtor-privacy | |
191 | C++ ObjC++ | |
bae92bf3 | 192 | Warn when all constructors and destructors are private |
fef3106c | 193 | |
85617eba HPN |
194 | Wdeclaration-after-statement |
195 | C ObjC | |
196 | Warn when a declaration is found after a statement | |
197 | ||
fef3106c NB |
198 | Wdeprecated |
199 | C++ ObjC++ | |
bae92bf3 | 200 | Warn about deprecated compiler features |
fef3106c NB |
201 | |
202 | Wdiv-by-zero | |
203 | C ObjC | |
5a170a05 | 204 | Warn about compile-time integer division by zero |
fef3106c NB |
205 | |
206 | Weffc++ | |
207 | C++ ObjC++ | |
bae92bf3 | 208 | Warn about violations of Effective C++ style rules |
fef3106c NB |
209 | |
210 | Wendif-labels | |
211 | C ObjC C++ ObjC++ | |
72de27ea | 212 | Warn about stray tokens after #elif and #endif |
fef3106c NB |
213 | |
214 | Werror | |
215 | C ObjC C++ ObjC++ | |
72de27ea | 216 | ; Documented in common.opt |
fef3106c NB |
217 | |
218 | Werror-implicit-function-declaration | |
c83857ff | 219 | C ObjC RejectNegative |
5a170a05 | 220 | Make implicit function declarations an error |
fef3106c NB |
221 | |
222 | Wfloat-equal | |
223 | C ObjC C++ ObjC++ | |
5a170a05 | 224 | Warn if testing floating point numbers for equality |
fef3106c NB |
225 | |
226 | Wformat | |
227 | C ObjC C++ ObjC++ | |
5a170a05 | 228 | Warn about printf/scanf/strftime/strfmon format string anomalies |
fef3106c NB |
229 | |
230 | Wformat-extra-args | |
231 | C ObjC C++ ObjC++ | |
5a170a05 | 232 | Warn if passing too many arguments to a function for its format string |
fef3106c NB |
233 | |
234 | Wformat-nonliteral | |
235 | C ObjC C++ ObjC++ | |
5a170a05 | 236 | Warn about format strings that are not literals |
fef3106c NB |
237 | |
238 | Wformat-security | |
239 | C ObjC C++ ObjC++ | |
5a170a05 | 240 | Warn about possible security problems with format functions |
fef3106c NB |
241 | |
242 | Wformat-y2k | |
243 | C ObjC C++ ObjC++ | |
5a170a05 | 244 | Warn about strftime formats yielding 2-digit years |
fef3106c NB |
245 | |
246 | Wformat-zero-length | |
247 | C ObjC | |
248 | ||
249 | Wformat= | |
250 | C ObjC C++ ObjC++ Joined | |
251 | ||
3390f9c9 AP |
252 | Winit-self |
253 | C ObjC C++ ObjC++ | |
254 | Warn about variables which are initialized to themselves. | |
255 | ||
fef3106c NB |
256 | Wimplicit |
257 | C ObjC C++ ObjC++ | |
258 | ||
259 | Wimplicit-function-declaration | |
260 | C ObjC | |
5a170a05 | 261 | Warn about implicit function declarations |
fef3106c NB |
262 | |
263 | Wimplicit-int | |
264 | C ObjC | |
5a170a05 | 265 | Warn when a declaration does not specify a type |
fef3106c NB |
266 | |
267 | Wimport | |
268 | C ObjC C++ ObjC++ | |
bf42e45b | 269 | Deprecated. This switch has no effect. |
fef3106c NB |
270 | |
271 | Winvalid-offsetof | |
272 | C++ ObjC++ | |
bae92bf3 | 273 | Warn about invalid uses of the \"offsetof\" macro |
fef3106c NB |
274 | |
275 | Winvalid-pch | |
276 | C ObjC C++ ObjC++ | |
5a170a05 | 277 | Warn about PCH files that are found but not used |
fef3106c NB |
278 | |
279 | Wlong-long | |
280 | C ObjC C++ ObjC++ | |
5a170a05 | 281 | Do not warn about using \"long long\" when -pedantic |
fef3106c NB |
282 | |
283 | Wmain | |
284 | C ObjC | |
5a170a05 | 285 | Warn about suspicious declarations of \"main\" |
fef3106c NB |
286 | |
287 | Wmissing-braces | |
288 | C ObjC C++ ObjC++ | |
5a170a05 | 289 | Warn about possibly missing braces around initializers |
fef3106c NB |
290 | |
291 | Wmissing-declarations | |
292 | C ObjC | |
5a170a05 | 293 | Warn about global functions without previous declarations |
fef3106c NB |
294 | |
295 | Wmissing-format-attribute | |
296 | C ObjC C++ ObjC++ | |
5a170a05 | 297 | Warn about functions which might be candidates for format attributes |
fef3106c | 298 | |
b02398bd BE |
299 | Wmissing-include-dirs |
300 | C ObjC C++ ObjC++ | |
301 | Warn about user-specified include directories that do not exist | |
302 | ||
fef3106c NB |
303 | Wmissing-prototypes |
304 | C ObjC | |
5a170a05 | 305 | Warn about global functions without prototypes |
fef3106c NB |
306 | |
307 | Wmultichar | |
308 | C ObjC C++ ObjC++ | |
5a170a05 | 309 | Warn about use of multi-character character constants |
fef3106c NB |
310 | |
311 | Wnested-externs | |
312 | C ObjC | |
5a170a05 | 313 | Warn about \"extern\" declarations not at file scope |
fef3106c NB |
314 | |
315 | Wnon-template-friend | |
316 | C++ ObjC++ | |
bae92bf3 | 317 | Warn when non-templatized friend functions are declared within a template |
fef3106c NB |
318 | |
319 | Wnon-virtual-dtor | |
320 | C++ ObjC++ | |
bae92bf3 | 321 | Warn about non-virtual destructors |
fef3106c NB |
322 | |
323 | Wnonnull | |
324 | C ObjC | |
325 | ||
326 | Wold-style-cast | |
327 | C++ ObjC++ | |
bae92bf3 | 328 | Warn if a C-style cast is used in a program |
fef3106c | 329 | |
c034f121 AJ |
330 | Wold-style-definition |
331 | C ObjC | |
332 | Warn if an old-style parameter definition is used | |
333 | ||
fef3106c NB |
334 | Woverloaded-virtual |
335 | C++ ObjC++ | |
bae92bf3 | 336 | Warn about overloaded virtual function names |
fef3106c NB |
337 | |
338 | Wparentheses | |
339 | C ObjC C++ ObjC++ | |
5a170a05 | 340 | Warn about possibly missing parentheses |
fef3106c NB |
341 | |
342 | Wpmf-conversions | |
343 | C++ ObjC++ | |
bae92bf3 | 344 | Warn when converting the type of pointers to member functions |
fef3106c NB |
345 | |
346 | Wpointer-arith | |
347 | C ObjC C++ ObjC++ | |
5a170a05 | 348 | Warn about function pointer arithmetic |
fef3106c NB |
349 | |
350 | Wprotocol | |
351 | ObjC ObjC++ | |
f2ac9964 | 352 | Warn if inherited methods are unimplemented |
fef3106c NB |
353 | |
354 | Wredundant-decls | |
355 | C ObjC C++ ObjC++ | |
5a170a05 | 356 | Warn about multiple declarations of the same object |
fef3106c NB |
357 | |
358 | Wreorder | |
359 | C++ ObjC++ | |
bae92bf3 | 360 | Warn when the compiler reorders code |
fef3106c NB |
361 | |
362 | Wreturn-type | |
363 | C ObjC C++ ObjC++ | |
bae92bf3 | 364 | Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++) |
fef3106c NB |
365 | |
366 | Wselector | |
367 | ObjC ObjC++ | |
f2ac9964 | 368 | Warn if a selector has multiple methods |
fef3106c NB |
369 | |
370 | Wsequence-point | |
371 | C ObjC | |
5a170a05 | 372 | Warn about possible violations of sequence point rules |
fef3106c NB |
373 | |
374 | Wsign-compare | |
375 | C ObjC C++ ObjC++ | |
5a170a05 | 376 | Warn about signed-unsigned comparisons |
fef3106c NB |
377 | |
378 | Wsign-promo | |
379 | C++ ObjC++ | |
bae92bf3 | 380 | Warn when overload promotes from unsigned to signed |
fef3106c NB |
381 | |
382 | Wstrict-prototypes | |
383 | C ObjC | |
5a170a05 | 384 | Warn about unprototyped function declarations |
fef3106c NB |
385 | |
386 | Wsynth | |
387 | C++ ObjC++ | |
bae92bf3 | 388 | Warn when synthesis behavior differs from Cfront |
fef3106c NB |
389 | |
390 | Wsystem-headers | |
391 | C ObjC C++ ObjC++ | |
72de27ea | 392 | Do not suppress warnings from system headers |
fef3106c NB |
393 | |
394 | Wtraditional | |
395 | C ObjC | |
72de27ea | 396 | Warn about features not present in traditional C |
fef3106c NB |
397 | |
398 | Wtrigraphs | |
399 | C ObjC C++ ObjC++ | |
72de27ea | 400 | Warn if trigraphs are encountered that might affect the meaning of the program |
fef3106c NB |
401 | |
402 | Wundeclared-selector | |
403 | ObjC ObjC++ | |
404 | ||
405 | Wundef | |
406 | C ObjC C++ ObjC++ | |
72de27ea | 407 | Warn if an undefined macro is used in an #if directive |
fef3106c NB |
408 | |
409 | Wunknown-pragmas | |
410 | C ObjC C++ ObjC++ | |
5a170a05 | 411 | Warn about unrecognized pragmas |
fef3106c NB |
412 | |
413 | Wunused-macros | |
414 | C ObjC C++ ObjC++ | |
72de27ea | 415 | Warn about macros defined in the main file that are not used |
fef3106c | 416 | |
e5b79219 RH |
417 | Wvariadic-macros |
418 | C ObjC C++ ObjC++ | |
419 | Do not warn about using variadic macros when -pedantic | |
420 | ||
fef3106c NB |
421 | Wwrite-strings |
422 | C ObjC C++ ObjC++ | |
5a170a05 | 423 | Give strings the type \"array of char\" |
fef3106c NB |
424 | |
425 | ansi | |
426 | C ObjC C++ ObjC++ | |
5a170a05 | 427 | A synonym for -std=c89. In a future version of GCC it will become synonymous with -std=c99 instead |
fef3106c NB |
428 | |
429 | d | |
430 | C ObjC C++ ObjC++ Joined | |
72de27ea | 431 | ; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD? |
fef3106c | 432 | |
fef3106c NB |
433 | faccess-control |
434 | C++ ObjC++ | |
bae92bf3 | 435 | Enforce class member access control semantics |
fef3106c NB |
436 | |
437 | fall-virtual | |
438 | C++ ObjC++ | |
439 | ||
440 | falt-external-templates | |
441 | C++ ObjC++ | |
bae92bf3 | 442 | Change when template instances are emitted |
fef3106c NB |
443 | |
444 | fasm | |
445 | C ObjC C++ ObjC++ | |
5a170a05 | 446 | Recognize the \"asm\" keyword |
fef3106c NB |
447 | |
448 | fbuiltin | |
449 | C ObjC C++ ObjC++ | |
5a170a05 | 450 | Recognize built-in functions |
fef3106c NB |
451 | |
452 | fbuiltin- | |
453 | C ObjC C++ ObjC++ Joined | |
454 | ||
455 | fcheck-new | |
456 | C++ ObjC++ | |
bae92bf3 | 457 | Check the return value of new |
fef3106c NB |
458 | |
459 | fcond-mismatch | |
460 | C ObjC C++ ObjC++ | |
5a170a05 | 461 | Allow the arguments of the '?' operator to have different types |
fef3106c NB |
462 | |
463 | fconserve-space | |
464 | C++ ObjC++ | |
bae92bf3 | 465 | Reduce the size of object files |
fef3106c NB |
466 | |
467 | fconst-strings | |
468 | C++ ObjC++ | |
bae92bf3 | 469 | Make string literals \"const char[]\" not \"char[]\" |
fef3106c NB |
470 | |
471 | fconstant-string-class= | |
472 | ObjC ObjC++ Joined | |
f2ac9964 | 473 | -fconst-string-class=<name> Use class <name> for constant strings |
fef3106c NB |
474 | |
475 | fdefault-inline | |
476 | C++ ObjC++ | |
bae92bf3 | 477 | Inline member functions by default |
fef3106c NB |
478 | |
479 | fdollars-in-identifiers | |
480 | C ObjC C++ ObjC++ | |
72de27ea | 481 | Permit '$' as an identifier character |
fef3106c | 482 | |
fef3106c NB |
483 | felide-constructors |
484 | C++ ObjC++ | |
485 | ||
486 | fenforce-eh-specs | |
487 | C++ ObjC++ | |
bae92bf3 | 488 | Generate code to check exception specifications |
fef3106c NB |
489 | |
490 | fenum-int-equiv | |
491 | C++ ObjC++ | |
492 | ||
e6cc3a24 ZW |
493 | fexec-charset= |
494 | C ObjC C++ ObjC++ Joined RejectNegative | |
72de27ea | 495 | -fexec-charset=<cset> Convert all strings and character constants to character set <cset> |
e6cc3a24 | 496 | |
16dd5cfe EC |
497 | finput-charset= |
498 | C ObjC C++ ObjC++ Joined RejectNegative | |
499 | -finput-charset=<cset> Specify the default character set for source files. | |
500 | ||
501 | ||
fef3106c NB |
502 | fexternal-templates |
503 | C++ ObjC++ | |
504 | ||
505 | ffixed-form | |
506 | C ObjC | |
507 | ||
508 | ffixed-line-length- | |
509 | C ObjC Joined | |
510 | ||
511 | ffor-scope | |
512 | C++ ObjC++ | |
bae92bf3 | 513 | Scope of for-init-statement variables is local to the loop |
fef3106c NB |
514 | |
515 | ffreestanding | |
516 | C ObjC | |
5a170a05 | 517 | Do not assume that standard C libraries and \"main\" exist |
fef3106c NB |
518 | |
519 | fgnu-keywords | |
520 | C++ ObjC++ | |
bae92bf3 | 521 | Recognize GNU-defined keywords |
fef3106c NB |
522 | |
523 | fgnu-runtime | |
524 | ObjC ObjC++ | |
f2ac9964 | 525 | Generate code for GNU runtime environment |
fef3106c NB |
526 | |
527 | fguiding-decls | |
528 | C++ ObjC++ | |
529 | ||
530 | fhandle-exceptions | |
531 | C++ ObjC++ | |
532 | ||
533 | fhonor-std | |
534 | C++ ObjC++ | |
535 | ||
536 | fhosted | |
537 | C ObjC | |
5a170a05 | 538 | Assume normal C execution environment |
fef3106c NB |
539 | |
540 | fhuge-objects | |
541 | C++ ObjC++ | |
bae92bf3 | 542 | Enable support for huge objects |
fef3106c NB |
543 | |
544 | fimplement-inlines | |
545 | C++ ObjC++ | |
bae92bf3 | 546 | Export functions even if they can be inlined |
fef3106c NB |
547 | |
548 | fimplicit-inline-templates | |
549 | C++ ObjC++ | |
bae92bf3 | 550 | Emit implicit instantiations of inline templates |
fef3106c NB |
551 | |
552 | fimplicit-templates | |
553 | C++ ObjC++ | |
bae92bf3 | 554 | Emit implicit instantiations of templates |
fef3106c NB |
555 | |
556 | flabels-ok | |
557 | C++ ObjC++ | |
558 | ||
559 | fms-extensions | |
560 | C ObjC C++ ObjC++ | |
bae92bf3 | 561 | Don't warn about uses of Microsoft extensions |
fef3106c NB |
562 | |
563 | fname-mangling-version- | |
564 | C++ ObjC++ Joined | |
565 | ||
566 | fnew-abi | |
567 | C++ ObjC++ | |
568 | ||
569 | fnext-runtime | |
570 | ObjC ObjC++ | |
264fa2db ZL |
571 | Generate code for NeXT (Apple Mac OS X) runtime environment |
572 | ||
573 | fnil-receivers | |
574 | ObjC ObjC++ | |
575 | Assume that receivers of Objective-C messages may be nil | |
fef3106c NB |
576 | |
577 | fnonansi-builtins | |
578 | C++ ObjC++ | |
579 | ||
580 | fnonnull-objects | |
581 | C++ ObjC++ | |
582 | ||
264fa2db ZL |
583 | fobjc-exceptions |
584 | ObjC ObjC++ | |
585 | Enable Objective-C exception and synchronization syntax | |
586 | ||
fef3106c NB |
587 | foperator-names |
588 | C++ ObjC++ | |
bae92bf3 | 589 | Recognize C++ kewords like \"compl\" and \"xor\" |
fef3106c NB |
590 | |
591 | foptional-diags | |
592 | C++ ObjC++ | |
bae92bf3 | 593 | Enable optional diagnostics |
fef3106c NB |
594 | |
595 | fpch-deps | |
596 | C ObjC C++ ObjC++ | |
597 | ||
598 | fpermissive | |
599 | C++ ObjC++ | |
bae92bf3 | 600 | Downgrade conformance errors to warnings |
fef3106c NB |
601 | |
602 | fpreprocessed | |
603 | C ObjC C++ ObjC++ | |
72de27ea | 604 | Treat the input file as already preprocessed |
fef3106c | 605 | |
264fa2db ZL |
606 | freplace-objc-classes |
607 | ObjC ObjC++ | |
608 | Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime | |
609 | ||
fef3106c NB |
610 | frepo |
611 | C++ ObjC++ | |
bae92bf3 | 612 | Enable automatic template instantiation |
fef3106c NB |
613 | |
614 | frtti | |
615 | C++ ObjC++ | |
bae92bf3 | 616 | Generate run time type descriptor information |
fef3106c NB |
617 | |
618 | fshort-double | |
619 | C ObjC C++ ObjC++ | |
5a170a05 | 620 | Use the same size for double as for float |
fef3106c NB |
621 | |
622 | fshort-enums | |
623 | C ObjC C++ ObjC++ | |
5a170a05 | 624 | Use the narrowest integer type possible for enumeration types |
fef3106c NB |
625 | |
626 | fshort-wchar | |
627 | C ObjC C++ ObjC++ | |
5a170a05 | 628 | Force the underlying type for \"wchar_t\" to be \"unsigned short\" |
fef3106c NB |
629 | |
630 | fshow-column | |
631 | C ObjC C++ ObjC++ | |
632 | ||
633 | fsigned-bitfields | |
634 | C ObjC C++ ObjC++ | |
5a170a05 | 635 | When \"signed\" or \"unsigned\" is not given make the bitfield signed |
fef3106c NB |
636 | |
637 | fsigned-char | |
638 | C ObjC C++ ObjC++ | |
5a170a05 | 639 | Make \"char\" signed by default |
fef3106c NB |
640 | |
641 | fsquangle | |
642 | C++ ObjC++ | |
643 | ||
644 | fstats | |
645 | C++ ObjC++ | |
bae92bf3 | 646 | Display statistics accumulated during compilation |
fef3106c NB |
647 | |
648 | fstrict-prototype | |
649 | C++ ObjC++ | |
650 | ||
651 | ftabstop= | |
7b086b11 | 652 | C ObjC C++ ObjC++ Joined RejectNegative UInteger |
72de27ea | 653 | -ftabstop=<number> Distance between tab stops for column reporting |
fef3106c NB |
654 | |
655 | ftemplate-depth- | |
7b086b11 | 656 | C++ ObjC++ Joined RejectNegative UInteger |
bae92bf3 | 657 | -ftemplate-depth-<number> Specify maximum template instantiation depth |
fef3106c NB |
658 | |
659 | fthis-is-variable | |
660 | C++ ObjC++ | |
661 | ||
662 | funsigned-bitfields | |
663 | C ObjC C++ ObjC++ | |
5a170a05 | 664 | When \"signed\" or \"unsigned\" is not given make the bitfield unsigned |
fef3106c NB |
665 | |
666 | funsigned-char | |
667 | C ObjC C++ ObjC++ | |
5a170a05 | 668 | Make \"char\" unsigned by default |
fef3106c NB |
669 | |
670 | fuse-cxa-atexit | |
671 | C++ ObjC++ | |
bae92bf3 | 672 | Use __cxa_atexit to register destructors |
fef3106c NB |
673 | |
674 | fvtable-gc | |
675 | C++ ObjC++ | |
bae92bf3 | 676 | Discard unused virtual functions |
fef3106c NB |
677 | |
678 | fvtable-thunks | |
679 | C++ ObjC++ | |
bae92bf3 | 680 | Implement vtables using thunks |
fef3106c NB |
681 | |
682 | fweak | |
683 | C++ ObjC++ | |
bae92bf3 | 684 | Emit common-like symbols as weak symbols |
fef3106c | 685 | |
e6cc3a24 ZW |
686 | fwide-exec-charset= |
687 | C ObjC C++ ObjC++ Joined RejectNegative | |
72de27ea | 688 | -fwide-exec-charset=<cset> Convert all wide strings and character constants to character set <cset> |
e6cc3a24 | 689 | |
b20d9f0c AO |
690 | fworking-directory |
691 | C ObjC C++ ObjC++ | |
692 | Generate a #line directive pointing at the current working directory | |
693 | ||
fef3106c NB |
694 | fxref |
695 | C++ ObjC++ | |
bae92bf3 | 696 | Emit cross referencing information |
fef3106c | 697 | |
264fa2db ZL |
698 | fzero-link |
699 | ObjC ObjC++ | |
700 | Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode | |
701 | ||
fef3106c NB |
702 | gen-decls |
703 | ObjC ObjC++ | |
f2ac9964 | 704 | Dump declarations to a .decl file |
fef3106c NB |
705 | |
706 | idirafter | |
707 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 708 | -idirafter <dir> Add <dir> to the end of the system include path |
fef3106c NB |
709 | |
710 | imacros | |
711 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 712 | -imacros <file> Accept definition of macros in <file> |
fef3106c NB |
713 | |
714 | include | |
715 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 716 | -include <file> Include the contents of <file> before other files |
fef3106c NB |
717 | |
718 | iprefix | |
719 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 720 | -iprefix <path> Specify <path> as a prefix for next two options |
fef3106c NB |
721 | |
722 | isysroot | |
723 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 724 | -isysroot <dir> Set <dir> to be the system root directory |
fef3106c NB |
725 | |
726 | isystem | |
727 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 728 | -isystem <dir> Add <dir> to the start of the system include path |
fef3106c | 729 | |
4bed3787 MS |
730 | iquote |
731 | C ObjC C++ ObjC++ Joined Separate | |
732 | -iquote <dir> Add <dir> to the end of the quote include path | |
733 | ||
fef3106c NB |
734 | iwithprefix |
735 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 736 | -iwithprefix <dir> Add <dir> to the end of the system include path |
fef3106c NB |
737 | |
738 | iwithprefixbefore | |
739 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 740 | -iwithprefixbefore <dir> Add <dir> to the end of the main include path |
fef3106c NB |
741 | |
742 | lang-asm | |
f2ac9964 | 743 | C Undocumented |
fef3106c NB |
744 | |
745 | lang-objc | |
f2ac9964 | 746 | C ObjC C++ ObjC++ Undocumented |
fef3106c NB |
747 | |
748 | nostdinc | |
749 | C ObjC C++ ObjC++ | |
72de27ea | 750 | Do not search standard system include directories (those specified with -isystem will still be used) |
fef3106c NB |
751 | |
752 | nostdinc++ | |
72de27ea NB |
753 | C++ ObjC++ |
754 | Do not search standard system include directories for C++ | |
fef3106c NB |
755 | |
756 | o | |
757 | C ObjC C++ ObjC++ Joined Separate | |
72de27ea | 758 | ; Documented in common.opt |
fef3106c NB |
759 | |
760 | pedantic | |
761 | C ObjC C++ ObjC++ | |
72de27ea | 762 | ; Documented in common.opt |
fef3106c NB |
763 | |
764 | pedantic-errors | |
765 | C ObjC C++ ObjC++ | |
72de27ea | 766 | ; Documented in common.opt |
fef3106c NB |
767 | |
768 | print-objc-runtime-info | |
769 | ObjC ObjC++ | |
f2ac9964 | 770 | Generate C header of platform-specific features |
fef3106c NB |
771 | |
772 | remap | |
773 | C ObjC C++ ObjC++ | |
72de27ea | 774 | Remap file names when including files |
fef3106c NB |
775 | |
776 | std=c++98 | |
777 | C++ ObjC++ | |
72de27ea | 778 | Conform to the ISO 1998 C++ standard |
fef3106c NB |
779 | |
780 | std=c89 | |
781 | C ObjC | |
72de27ea | 782 | Conform to the ISO 1990 C standard |
fef3106c NB |
783 | |
784 | std=c99 | |
785 | C ObjC | |
72de27ea | 786 | Conform to the ISO 1999 C standard |
fef3106c NB |
787 | |
788 | std=c9x | |
789 | C ObjC | |
72de27ea | 790 | Deprecated in favor of -std=c99 |
fef3106c NB |
791 | |
792 | std=gnu++98 | |
793 | C++ ObjC++ | |
72de27ea | 794 | Conform to the ISO 1998 C++ standard with GNU extensions |
fef3106c NB |
795 | |
796 | std=gnu89 | |
797 | C ObjC | |
72de27ea | 798 | Conform to the ISO 1990 C standard with GNU extensions |
fef3106c NB |
799 | |
800 | std=gnu99 | |
801 | C ObjC | |
72de27ea | 802 | Conform to the ISO 1999 C standard with GNU extensions |
fef3106c NB |
803 | |
804 | std=gnu9x | |
805 | C ObjC | |
72de27ea | 806 | Deprecated in favor of -std=gnu99 |
fef3106c NB |
807 | |
808 | std=iso9899:1990 | |
809 | C ObjC | |
72de27ea | 810 | Deprecated in favor of -std=c89 |
fef3106c NB |
811 | |
812 | std=iso9899:199409 | |
813 | C ObjC | |
72de27ea | 814 | Conform to the ISO 1990 C standard as amended in 1994 |
fef3106c NB |
815 | |
816 | std=iso9899:1999 | |
817 | C ObjC | |
72de27ea | 818 | Deprecated in favor of -std=c99 |
fef3106c NB |
819 | |
820 | std=iso9899:199x | |
821 | C ObjC | |
72de27ea | 822 | Deprecated in favor of -std=c99 |
fef3106c NB |
823 | |
824 | traditional-cpp | |
825 | C ObjC C++ ObjC++ | |
72de27ea | 826 | Enable traditional preprocessing |
fef3106c NB |
827 | |
828 | trigraphs | |
829 | C ObjC C++ ObjC++ | |
72de27ea | 830 | -trigraphs Support ISO C trigraphs |
fef3106c NB |
831 | |
832 | undef | |
833 | C ObjC C++ ObjC++ | |
72de27ea | 834 | Do not predefine system-specific and GCC-specific macros |
fef3106c NB |
835 | |
836 | v | |
837 | C ObjC C++ ObjC++ | |
72de27ea | 838 | Enable verbose output |
fef3106c NB |
839 | |
840 | w | |
841 | C ObjC C++ ObjC++ | |
72de27ea | 842 | ; Documented in common.opt |
e11a4ae5 NB |
843 | |
844 | ; This comment is to ensure we retain the blank line above. |