PR c++/11509
[official-gcc.git] / gcc / c.opt
blob64e9fe02ddd0989a07f8c25425e4105b6571cda0
1 ; Options for the C, ObjC, C++ and ObjC++ front ends.
2 ; Copyright (C) 2003 Free Software Foundation, Inc.
4 ; This file is part of GCC.
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.
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-"
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.
31 ; The second field is a space-separated list of which parts of the
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
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
39 ; if the argument is invalid.
41 ; The third field is the help text to output with --help.  This is
42 ; automatically line-wrapped on output.  Normally the switch is output
43 ; automatically, with the help text on the right hand side of the
44 ; output.  However, if the help text contains a tab character, the
45 ; text to the left of the tab is output instead of the switch, and the
46 ; text to its right forms the help.  This is useful for elaborating on
47 ; what type of argument a switch takes, for example.
49 ; Comments can appear on their own line anwhere in the file, preceded
50 ; by a semicolon.  Whitespace is permitted before the semicolon.
52 ; For each switch XXX below, an enumeration constant is created by the
53 ; script opts.sh spelt OPT_XXX, but with all non-alphanumeric
54 ; characters replaced with an underscore.
56 ; Please try to keep this file in ASCII collating order.
58 Language
61 Language
62 ObjC
64 Language
65 C++
67 Language
68 ObjC++
70 -help
71 C ObjC C++ ObjC++
73 -output-pch=
74 C ObjC C++ ObjC++ Joined Separate
77 C ObjC C++ ObjC++ Joined Separate
80 C ObjC C++ ObjC++
83 C ObjC C++ ObjC++
86 C ObjC C++ ObjC++ Joined Separate
89 C ObjC C++ ObjC++
92 C ObjC C++ ObjC++
95 C ObjC C++ ObjC++ Joined Separate
98 C ObjC C++ ObjC++
101 C ObjC C++ ObjC++ Separate
104 C ObjC C++ ObjC++ Joined Separate
107 C ObjC C++ ObjC++
110 C ObjC C++ ObjC++
113 C ObjC C++ ObjC++ Separate
116 C ObjC C++ ObjC++
119 C ObjC C++ ObjC++ Joined Separate
122 C ObjC C++ ObjC++ Joined Separate
125 C ObjC C++ ObjC++
128 C ObjC C++ ObjC++ Joined Separate
130 Wabi
131 C++ ObjC++
133 Wall
134 C ObjC C++ ObjC++
136 Wbad-function-cast
137 C ObjC
139 Wcast-qual
140 C ObjC C++ ObjC++
142 Wchar-subscripts
143 C ObjC C++ ObjC++
145 Wcomment
146 C ObjC C++ ObjC++
148 Wcomments
149 C ObjC C++ ObjC++
151 Wconversion
152 C ObjC C++ ObjC++
154 Wctor-dtor-privacy
155 C++ ObjC++
157 Wdeprecated
158 C++ ObjC++
160 Wdiv-by-zero
161 C ObjC
163 Weffc++
164 C++ ObjC++
166 Wendif-labels
167 C ObjC C++ ObjC++
169 Werror
170 C ObjC C++ ObjC++
172 Werror-implicit-function-declaration
173 C ObjC RejectNegative
175 Wfloat-equal
176 C ObjC C++ ObjC++
178 Wformat
179 C ObjC C++ ObjC++
181 Wformat-extra-args
182 C ObjC C++ ObjC++
184 Wformat-nonliteral
185 C ObjC C++ ObjC++
187 Wformat-security
188 C ObjC C++ ObjC++
190 Wformat-y2k
191 C ObjC C++ ObjC++
193 Wformat-zero-length
194 C ObjC
196 Wformat=
197 C ObjC C++ ObjC++ Joined
199 Wimplicit
200 C ObjC C++ ObjC++
202 Wimplicit-function-declaration
203 C ObjC
205 Wimplicit-int
206 C ObjC
208 Wimport
209 C ObjC C++ ObjC++
211 Winvalid-offsetof
212 C++ ObjC++
214 Winvalid-pch
215 C ObjC C++ ObjC++
217 Wlong-long
218 C ObjC C++ ObjC++
220 Wmain
221 C ObjC
223 Wmissing-braces
224 C ObjC C++ ObjC++
226 Wmissing-declarations
227 C ObjC
229 Wmissing-format-attribute
230 C ObjC C++ ObjC++
232 Wmissing-prototypes
233 C ObjC
235 Wmultichar
236 C ObjC C++ ObjC++
238 Wnested-externs
239 C ObjC
241 Wnon-template-friend
242 C++ ObjC++
244 Wnon-virtual-dtor
245 C++ ObjC++
247 Wnonnull
248 C ObjC
250 Wold-style-cast
251 C++ ObjC++
253 Woverloaded-virtual
254 C++ ObjC++
256 Wparentheses
257 C ObjC C++ ObjC++
259 Wpmf-conversions
260 C++ ObjC++
262 Wpointer-arith
263 C ObjC C++ ObjC++
265 Wprotocol
266 ObjC ObjC++
268 Wredundant-decls
269 C ObjC C++ ObjC++
271 Wreorder
272 C++ ObjC++
274 Wreturn-type
275 C ObjC C++ ObjC++
277 Wselector
278 ObjC ObjC++
280 Wsequence-point
281 C ObjC
283 Wsign-compare
284 C ObjC C++ ObjC++
286 Wsign-promo
287 C++ ObjC++
289 Wstrict-prototypes
290 C ObjC
292 Wsynth
293 C++ ObjC++
295 Wsystem-headers
296 C ObjC C++ ObjC++
298 Wtraditional
299 C ObjC
301 Wtrigraphs
302 C ObjC C++ ObjC++
304 Wundeclared-selector
305 ObjC ObjC++
307 Wundef
308 C ObjC C++ ObjC++
310 Wunknown-pragmas
311 C ObjC C++ ObjC++
313 Wunused-macros
314 C ObjC C++ ObjC++
316 Wwrite-strings
317 C ObjC C++ ObjC++
319 ansi
320 C ObjC C++ ObjC++
323 C ObjC C++ ObjC++ Joined
325 fabi-version=
326 C++ ObjC++ Joined UInteger
328 faccess-control
329 C++ ObjC++
331 fall-virtual
332 C++ ObjC++
334 falt-external-templates
335 C++ ObjC++
337 fasm
338 C ObjC C++ ObjC++
340 fbuiltin
341 C ObjC C++ ObjC++
343 fbuiltin-
344 C ObjC C++ ObjC++ Joined
346 fcheck-new
347 C++ ObjC++
349 fcond-mismatch
350 C ObjC C++ ObjC++
352 fconserve-space
353 C++ ObjC++
355 fconst-strings
356 C++ ObjC++
358 fconstant-string-class=
359 ObjC ObjC++ Joined
361 fdefault-inline
362 C++ ObjC++
364 fdollars-in-identifiers
365 C ObjC C++ ObjC++
367 fdump-
368 C ObjC C++ ObjC++ Joined RejectNegative
370 felide-constructors
371 C++ ObjC++
373 fenforce-eh-specs
374 C++ ObjC++
376 fenum-int-equiv
377 C++ ObjC++
379 fexec-charset=
380 C ObjC C++ ObjC++ Joined RejectNegative
382 fexternal-templates
383 C++ ObjC++
385 ffixed-form
386 C ObjC
388 ffixed-line-length-
389 C ObjC Joined
391 ffor-scope
392 C++ ObjC++
394 ffreestanding
395 C ObjC
397 fgnu-keywords
398 C++ ObjC++
400 fgnu-runtime
401 ObjC ObjC++
403 fguiding-decls
404 C++ ObjC++
406 fhandle-exceptions
407 C++ ObjC++
409 fhonor-std
410 C++ ObjC++
412 fhosted
413 C ObjC
415 fhuge-objects
416 C++ ObjC++
418 fimplement-inlines
419 C++ ObjC++
421 fimplicit-inline-templates
422 C++ ObjC++
424 fimplicit-templates
425 C++ ObjC++
427 flabels-ok
428 C++ ObjC++
430 fms-extensions
431 C ObjC C++ ObjC++
433 fname-mangling-version-
434 C++ ObjC++ Joined
436 fnew-abi
437 C++ ObjC++
439 fnext-runtime
440 ObjC ObjC++
442 fnonansi-builtins
443 C++ ObjC++
445 fnonnull-objects
446 C++ ObjC++
448 foperator-names
449 C++ ObjC++
451 foptional-diags
452 C++ ObjC++
454 fpch-deps
455 C ObjC C++ ObjC++
457 fpermissive
458 C++ ObjC++
460 fpreprocessed
461 C ObjC C++ ObjC++
463 frepo
464 C++ ObjC++
466 frtti
467 C++ ObjC++
469 fshort-double
470 C ObjC C++ ObjC++
472 fshort-enums
473 C ObjC C++ ObjC++
475 fshort-wchar
476 C ObjC C++ ObjC++
478 fshow-column
479 C ObjC C++ ObjC++
481 fsigned-bitfields
482 C ObjC C++ ObjC++
484 fsigned-char
485 C ObjC C++ ObjC++
487 fsquangle
488 C++ ObjC++
490 fstats
491 C++ ObjC++
493 fstrict-prototype
494 C++ ObjC++
496 ftabstop=
497 C ObjC C++ ObjC++ Joined RejectNegative UInteger
499 ftemplate-depth-
500 C++ ObjC++ Joined RejectNegative UInteger 
502 fthis-is-variable
503 C++ ObjC++
505 funsigned-bitfields
506 C ObjC C++ ObjC++
508 funsigned-char
509 C ObjC C++ ObjC++
511 fuse-cxa-atexit
512 C++ ObjC++
514 fvtable-gc
515 C++ ObjC++
517 fvtable-thunks
518 C++ ObjC++
520 fweak
521 C++ ObjC++
523 fwide-exec-charset=
524 C ObjC C++ ObjC++ Joined RejectNegative
526 fxref
527 C++ ObjC++
529 gen-decls
530 ObjC ObjC++
532 idirafter
533 C ObjC C++ ObjC++ Joined Separate
535 imacros
536 C ObjC C++ ObjC++ Joined Separate
538 include
539 C ObjC C++ ObjC++ Joined Separate
541 iprefix
542 C ObjC C++ ObjC++ Joined Separate
544 isysroot
545 C ObjC C++ ObjC++ Joined Separate
547 isystem
548 C ObjC C++ ObjC++ Joined Separate
550 iwithprefix
551 C ObjC C++ ObjC++ Joined Separate
553 iwithprefixbefore
554 C ObjC C++ ObjC++ Joined Separate
556 lang-asm
559 lang-objc
560 C ObjC C++ ObjC++
562 nostdinc
563 C ObjC C++ ObjC++
565 nostdinc++
566 C ObjC C++ ObjC++
569 C ObjC C++ ObjC++ Joined Separate
571 pedantic
572 C ObjC C++ ObjC++
574 pedantic-errors
575 C ObjC C++ ObjC++
577 print-objc-runtime-info
578 ObjC ObjC++
580 remap
581 C ObjC C++ ObjC++
583 std=c++98
584 C++ ObjC++
586 std=c89
587 C ObjC
589 std=c99
590 C ObjC
592 std=c9x
593 C ObjC
595 std=gnu++98
596 C++ ObjC++
598 std=gnu89
599 C ObjC
601 std=gnu99
602 C ObjC
604 std=gnu9x
605 C ObjC
607 std=iso9899:1990
608 C ObjC
610 std=iso9899:199409
611 C ObjC
613 std=iso9899:1999
614 C ObjC
616 std=iso9899:199x
617 C ObjC
619 traditional-cpp
620 C ObjC C++ ObjC++
622 trigraphs
623 C ObjC C++ ObjC++
625 undef
626 C ObjC C++ ObjC++
629 C ObjC C++ ObjC++
632 C ObjC C++ ObjC++
634 ; This comment is to ensure we retain the blank line above.