2005-01-22 Thomas Koenig <Thomas.Koenig@online.de>
[official-gcc.git] / gcc / c.opt
blob8267e0ee49786c3a63c1b5be2c0bc4cfa3a1fb66
1 ; Options for the C, ObjC, C++ and ObjC++ front ends.
2 ; Copyright (C) 2003, 2004, 2005 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.  "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.
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
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.
60 ; Comments can appear on their own line anwhere in the file, preceded
61 ; by a semicolon.  Whitespace is permitted before the semicolon.
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.
67 ; Please try to keep this file in ASCII collating order.
69 Language
72 Language
73 ObjC
75 Language
76 C++
78 Language
79 ObjC++
81 -output-pch=
82 C ObjC C++ ObjC++ Joined Separate
85 C ObjC C++ ObjC++ Joined Separate
86 -A<question>=<answer>   Assert the <answer> to <question>.  Putting '-' before <question> disables the <answer> to <question>
89 C ObjC C++ ObjC++
90 Do not discard comments
93 C ObjC C++ ObjC++
94 Do not discard comments in macro expansions
97 C ObjC C++ ObjC++ Joined Separate
98 -D<macro>[=<val>]       Define a <macro> with <val> as its value.  If just <macro> is given, <val> is taken to be 1
101 C ObjC C++ ObjC++ Undocumented
104 C ObjC C++ ObjC++ Joined Separate
105 -F <dir>        Add <dir> to the end of the main framework include path  
108 C ObjC C++ ObjC++
109 Print the name of header files as they are used
112 C ObjC C++ ObjC++ Joined Separate
113 -I <dir>        Add <dir> to the end of the main include path
116 C ObjC C++ ObjC++
117 Generate make dependencies
120 C ObjC C++ ObjC++ Separate
121 Generate make dependencies and compile
124 C ObjC C++ ObjC++ Joined Separate
125 -MF <file>      Write dependency output to the given file
128 C ObjC C++ ObjC++
129 Treat missing header files as generated files
132 C ObjC C++ ObjC++
133 Like -M but ignore system header files
136 C ObjC C++ ObjC++ Separate
137 Like -MD but ignore system header files
140 C ObjC C++ ObjC++
141 Generate phony targets for all headers
144 C ObjC C++ ObjC++ Joined Separate
145 -MQ <target>    Add a MAKE-quoted target
148 C ObjC C++ ObjC++ Joined Separate
149 -MT <target>    Add an unquoted target
152 C ObjC C++ ObjC++
153 Do not generate #line directives
156 C ObjC C++ ObjC++ Joined Separate
157 -U<macro>       Undefine <macro>
159 Wabi
160 C++ ObjC++ Var(warn_abi)
161 Warn about things that will change when compiling with an ABI-compliant compiler
163 Wall
164 C ObjC C++ ObjC++
165 Enable most warning messages
167 Wbad-function-cast
168 C ObjC Var(warn_bad_function_cast)
169 Warn about casting functions to incompatible types
171 Wcast-qual
172 C ObjC C++ ObjC++ Var(warn_cast_qual)
173 Warn about casts which discard qualifiers
175 Wchar-subscripts
176 C ObjC C++ ObjC++ Var(warn_char_subscripts)
177 Warn about subscripts whose type is \"char\"
179 Wcomment
180 C ObjC C++ ObjC++
181 Warn about possibly nested block comments, and C++ comments spanning more than one physical line
183 Wcomments
184 C ObjC C++ ObjC++
185 Synonym for -Wcomment
187 Wconversion
188 C ObjC C++ ObjC++ Var(warn_conversion)
189 Warn about possibly confusing type conversions
191 Wctor-dtor-privacy
192 C++ ObjC++ Var(warn_ctor_dtor_privacy)
193 Warn when all constructors and destructors are private
195 Wdeclaration-after-statement
196 C ObjC Var(warn_declaration_after_statement)
197 Warn when a declaration is found after a statement
199 Wdeprecated
200 C++ ObjC++ Var(warn_deprecated) Init(1)
201 Warn about deprecated compiler features
203 Wdiv-by-zero
204 C ObjC Var(warn_div_by_zero) Init(1)
205 Warn about compile-time integer division by zero
207 Weffc++
208 C++ ObjC++ Var(warn_ecpp)
209 Warn about violations of Effective C++ style rules
211 Wendif-labels
212 C ObjC C++ ObjC++
213 Warn about stray tokens after #elif and #endif
215 Werror
216 C ObjC C++ ObjC++
217 ; Documented in common.opt
219 Werror-implicit-function-declaration
220 C ObjC RejectNegative
221 Make implicit function declarations an error
223 Wfloat-equal
224 C ObjC C++ ObjC++ Var(warn_float_equal)
225 Warn if testing floating point numbers for equality
227 Wformat
228 C ObjC C++ ObjC++
229 Warn about printf/scanf/strftime/strfmon format string anomalies
231 Wformat-extra-args
232 C ObjC C++ ObjC++ Var(warn_format_extra_args)
233 Warn if passing too many arguments to a function for its format string
235 Wformat-nonliteral
236 C ObjC C++ ObjC++ Var(warn_format_nonliteral)
237 Warn about format strings that are not literals
239 Wformat-security
240 C ObjC C++ ObjC++ Var(warn_format_security)
241 Warn about possible security problems with format functions
243 Wformat-y2k
244 C ObjC C++ ObjC++ Var(warn_format_y2k)
245 Warn about strftime formats yielding 2-digit years
247 Wformat-zero-length
248 C ObjC Var(warn_format_zero_length)
249 Warn about zero-length formats
251 Wformat=
252 C ObjC C++ ObjC++ Joined
254 Winit-self
255 C ObjC C++ ObjC++ Var(warn_init_self)
256 Warn about variables which are initialized to themselves.
258 Wimplicit
259 C ObjC C++ ObjC++
261 Wimplicit-function-declaration
262 C ObjC Var(mesg_implicit_function_declaration) Init(-1)
263 Warn about implicit function declarations
265 Wimplicit-int
266 C ObjC Var(warn_implicit_int)
267 Warn when a declaration does not specify a type
269 Wimport
270 C ObjC C++ ObjC++
271 Deprecated.  This switch has no effect.
273 Winvalid-offsetof
274 C++ ObjC++ Var(warn_invalid_offsetof) Init(1)
275 Warn about invalid uses of the \"offsetof\" macro
277 Winvalid-pch
278 C ObjC C++ ObjC++
279 Warn about PCH files that are found but not used
281 Wlong-long
282 C ObjC C++ ObjC++ Var(warn_long_long) Init(1)
283 Do not warn about using \"long long\" when -pedantic
285 Wmain
286 C ObjC
287 Warn about suspicious declarations of \"main\"
289 Wmissing-braces
290 C ObjC C++ ObjC++ Var(warn_missing_braces)
291 Warn about possibly missing braces around initializers
293 Wmissing-declarations
294 C ObjC Var(warn_missing_declarations)
295 Warn about global functions without previous declarations
297 Wmissing-field-initializers
298 C ObjC C++ ObjC++ Var(warn_missing_field_initializers) Init(-1)
299 Warn about missing fields in struct initializers
301 Wmissing-format-attribute
302 C ObjC C++ ObjC++ Var(warn_missing_format_attribute)
303 Warn about functions which might be candidates for format attributes
305 Wmissing-include-dirs
306 C ObjC C++ ObjC++
307 Warn about user-specified include directories that do not exist
309 Wmissing-prototypes
310 C ObjC Var(warn_missing_prototypes)
311 Warn about global functions without prototypes
313 Wmultichar
314 C ObjC C++ ObjC++
315 Warn about use of multi-character character constants
317 Wnested-externs
318 C ObjC Var(warn_nested_externs)
319 Warn about \"extern\" declarations not at file scope
321 Wnon-template-friend
322 C++ ObjC++ Var(warn_nontemplate_friend) Init(1)
323 Warn when non-templatized friend functions are declared within a template
325 Wnon-virtual-dtor
326 C++ ObjC++ Var(warn_nonvdtor)
327 Warn about non-virtual destructors
329 Wnonnull
330 C ObjC Var(warn_nonnull)
331 Warn about NULL being passed to argument slots marked as requiring non-NULL
333 Wold-style-cast
334 C++ ObjC++ Var(warn_old_style_cast)
335 Warn if a C-style cast is used in a program
337 Wold-style-definition
338 C ObjC Var(warn_old_style_definition)
339 Warn if an old-style parameter definition is used
341 Woverloaded-virtual
342 C++ ObjC++ Var(warn_overloaded_virtual)
343 Warn about overloaded virtual function names
345 Wparentheses
346 C ObjC C++ ObjC++ Var(warn_parentheses)
347 Warn about possibly missing parentheses
349 Wpmf-conversions
350 C++ ObjC++ Var(warn_pmf2ptr) Init(1)
351 Warn when converting the type of pointers to member functions
353 Wpointer-arith
354 C ObjC C++ ObjC++ Var(warn_pointer_arith)
355 Warn about function pointer arithmetic
357 Wprotocol
358 ObjC ObjC++ Var(warn_protocol) Init(1)
359 Warn if inherited methods are unimplemented
361 Wredundant-decls
362 C ObjC C++ ObjC++ Var(warn_redundant_decls)
363 Warn about multiple declarations of the same object
365 Wreorder
366 C++ ObjC++ Var(warn_reorder)
367 Warn when the compiler reorders code
369 Wreturn-type
370 C ObjC C++ ObjC++
371 Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)
373 Wselector
374 ObjC ObjC++ Var(warn_selector)
375 Warn if a selector has multiple methods
377 Wsequence-point
378 C ObjC C++ ObjC++ Var(warn_sequence_point)
379 Warn about possible violations of sequence point rules
381 Wsign-compare
382 C ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1)
383 Warn about signed-unsigned comparisons
385 Wsign-promo
386 C++ ObjC++ Var(warn_sign_promo)
387 Warn when overload promotes from unsigned to signed
389 Wstrict-prototypes
390 C ObjC Var(warn_strict_prototypes)
391 Warn about unprototyped function declarations
393 Wsynth
394 C++ ObjC++ Var(warn_synth)
395 Warn when synthesis behavior differs from Cfront
397 Wsystem-headers
398 C ObjC C++ ObjC++
399 Do not suppress warnings from system headers
401 Wtraditional
402 C ObjC Var(warn_traditional)
403 Warn about features not present in traditional C
405 Wtrigraphs
406 C ObjC C++ ObjC++
407 Warn if trigraphs are encountered that might affect the meaning of the program
409 Wundeclared-selector
410 ObjC ObjC++ Var(warn_undeclared_selector)
411 Warn about @selector()s without previously declared methods
413 Wundef
414 C ObjC C++ ObjC++
415 Warn if an undefined macro is used in an #if directive
417 Wunknown-pragmas
418 C ObjC C++ ObjC++
419 Warn about unrecognized pragmas
421 Wunused-macros
422 C ObjC C++ ObjC++
423 Warn about macros defined in the main file that are not used
425 Wvariadic-macros
426 C ObjC C++ ObjC++
427 Do not warn about using variadic macros when -pedantic
429 Wwrite-strings
430 C ObjC C++ ObjC++
431 Give strings the type \"array of char\"
433 Wpointer-sign
434 C ObjC Var(warn_pointer_sign) Init(1)
435 Warn when a pointer differs in signedness in an assignment.
437 ansi
438 C ObjC C++ ObjC++
439 A synonym for -std=c89.  In a future version of GCC it will become synonymous with -std=c99 instead
442 C ObjC C++ ObjC++ Joined
443 ; Documented in common.opt.  FIXME - what about -dI, -dD, -dN and -dD?
445 faccess-control
446 C++ ObjC++
447 Enforce class member access control semantics
449 fall-virtual
450 C++ ObjC++
452 falt-external-templates
453 C++ ObjC++
454 Change when template instances are emitted
456 fasm
457 C ObjC C++ ObjC++
458 Recognize the \"asm\" keyword
460 fbuiltin
461 C ObjC C++ ObjC++
462 Recognize built-in functions
464 fbuiltin-
465 C ObjC C++ ObjC++ Joined
467 fcheck-new
468 C++ ObjC++
469 Check the return value of new
471 fcond-mismatch
472 C ObjC C++ ObjC++
473 Allow the arguments of the '?' operator to have different types
475 fconserve-space
476 C++ ObjC++
477 Reduce the size of object files
479 fconst-strings
480 C++ ObjC++
481 Make string literals \"const char[]\" not \"char[]\"
483 fconstant-string-class=
484 ObjC ObjC++ Joined
485 -fconst-string-class=<name>     Use class <name> for constant strings
487 fdefault-inline
488 C++ ObjC++
489 Inline member functions by default
491 fdollars-in-identifiers
492 C ObjC C++ ObjC++
493 Permit '$' as an identifier character
495 felide-constructors
496 C++ ObjC++
498 fenforce-eh-specs
499 C++ ObjC++
500 Generate code to check exception specifications
502 fenum-int-equiv
503 C++ ObjC++
505 fexec-charset=
506 C ObjC C++ ObjC++ Joined RejectNegative
507 -fexec-charset=<cset>   Convert all strings and character constants to character set <cset>
509 finput-charset=
510 C ObjC C++ ObjC++ Joined RejectNegative
511 -finput-charset=<cset>      Specify the default character set for source files.
514 fexternal-templates
515 C++ ObjC++
517 ffixed-form
518 C ObjC
520 ffixed-line-length-
521 C ObjC Joined
523 ffor-scope
524 C++ ObjC++
525 Scope of for-init-statement variables is local to the loop
527 ffreestanding
528 C ObjC
529 Do not assume that standard C libraries and \"main\" exist
531 fgnu-keywords
532 C++ ObjC++
533 Recognize GNU-defined keywords
535 fgnu-runtime
536 ObjC ObjC++
537 Generate code for GNU runtime environment
539 fguiding-decls
540 C++ ObjC++
542 fhandle-exceptions
543 C++ ObjC++
545 fhonor-std
546 C++ ObjC++
548 fhosted
549 C ObjC
550 Assume normal C execution environment
552 fhuge-objects
553 C++ ObjC++
554 Enable support for huge objects
556 fimplement-inlines
557 C++ ObjC++
558 Export functions even if they can be inlined
560 fimplicit-inline-templates
561 C++ ObjC++
562 Emit implicit instantiations of inline templates
564 fimplicit-templates
565 C++ ObjC++
566 Emit implicit instantiations of templates
568 flabels-ok
569 C++ ObjC++
571 fms-extensions
572 C ObjC C++ ObjC++
573 Don't warn about uses of Microsoft extensions
575 fname-mangling-version-
576 C++ ObjC++ Joined
578 fnew-abi
579 C++ ObjC++
581 fnext-runtime
582 ObjC ObjC++
583 Generate code for NeXT (Apple Mac OS X) runtime environment
585 fnil-receivers
586 ObjC ObjC++
587 Assume that receivers of Objective-C messages may be nil
589 fnonansi-builtins
590 C++ ObjC++
592 fnonnull-objects
593 C++ ObjC++
595 fobjc-exceptions
596 ObjC ObjC++
597 Enable Objective-C exception and synchronization syntax
599 fobjc-sjlj-exceptions
600 ObjC ObjC++
601 Enable Objective-C setjmp exception handling runtime
603 foperator-names
604 C++ ObjC++
605 Recognize C++ kewords like \"compl\" and \"xor\"
607 foptional-diags
608 C++ ObjC++
609 Enable optional diagnostics
611 fpch-deps
612 C ObjC C++ ObjC++
614 fpch-preprocess
615 C ObjC C++ ObjC++
616 Look for and use PCH files even when preprocessing
618 fpermissive
619 C++ ObjC++
620 Downgrade conformance errors to warnings
622 fpreprocessed
623 C ObjC C++ ObjC++
624 Treat the input file as already preprocessed
626 freplace-objc-classes
627 ObjC ObjC++
628 Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime
630 frepo
631 C++ ObjC++
632 Enable automatic template instantiation
634 frtti
635 C++ ObjC++
636 Generate run time type descriptor information
638 fshort-double
639 C ObjC C++ ObjC++
640 Use the same size for double as for float
642 fshort-enums
643 C ObjC C++ ObjC++
644 Use the narrowest integer type possible for enumeration types
646 fshort-wchar
647 C ObjC C++ ObjC++
648 Force the underlying type for \"wchar_t\" to be \"unsigned short\"
650 fshow-column
651 C ObjC C++ ObjC++
653 fsigned-bitfields
654 C ObjC C++ ObjC++
655 When \"signed\" or \"unsigned\" is not given make the bitfield signed
657 fsigned-char
658 C ObjC C++ ObjC++
659 Make \"char\" signed by default
661 fsquangle
662 C++ ObjC++
664 fstats
665 C++ ObjC++
666 Display statistics accumulated during compilation
668 fstrict-prototype
669 C++ ObjC++
671 ftabstop=
672 C ObjC C++ ObjC++ Joined RejectNegative UInteger
673 -ftabstop=<number>      Distance between tab stops for column reporting
675 ftemplate-depth-
676 C++ ObjC++ Joined RejectNegative UInteger 
677 -ftemplate-depth-<number>       Specify maximum template instantiation depth
679 fthis-is-variable
680 C++ ObjC++
682 fthreadsafe-statics
683 C++ ObjC++
684 -fno-threadsafe-statics Do not generate thread-safe code for initializing local statics.
686 funsigned-bitfields
687 C ObjC C++ ObjC++
688 When \"signed\" or \"unsigned\" is not given make the bitfield unsigned
690 funsigned-char
691 C ObjC C++ ObjC++
692 Make \"char\" unsigned by default
694 fuse-cxa-atexit
695 C++ ObjC++
696 Use __cxa_atexit to register destructors
698 fvisibility-inlines-hidden
700 Marks all inlined methods as having hidden visibility
702 fvtable-gc
703 C++ ObjC++
704 Discard unused virtual functions
706 fvtable-thunks
707 C++ ObjC++
708 Implement vtables using thunks
710 fweak
711 C++ ObjC++
712 Emit common-like symbols as weak symbols
714 fwide-exec-charset=
715 C ObjC C++ ObjC++ Joined RejectNegative
716 -fwide-exec-charset=<cset>      Convert all wide strings and character constants to character set <cset>
718 fworking-directory
719 C ObjC C++ ObjC++
720 Generate a #line directive pointing at the current working directory
722 fxref
723 C++ ObjC++
724 Emit cross referencing information
726 fzero-link
727 ObjC ObjC++
728 Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode
730 gen-decls
731 ObjC ObjC++
732 Dump declarations to a .decl file
734 idirafter
735 C ObjC C++ ObjC++ Joined Separate
736 -idirafter <dir>        Add <dir> to the end of the system include path
738 imacros
739 C ObjC C++ ObjC++ Joined Separate
740 -imacros <file> Accept definition of macros in <file>
742 include
743 C ObjC C++ ObjC++ Joined Separate
744 -include <file> Include the contents of <file> before other files
746 iprefix
747 C ObjC C++ ObjC++ Joined Separate
748 -iprefix <path> Specify <path> as a prefix for next two options
750 isysroot
751 C ObjC C++ ObjC++ Joined Separate
752 -isysroot <dir> Set <dir> to be the system root directory
754 isystem
755 C ObjC C++ ObjC++ Joined Separate
756 -isystem <dir>  Add <dir> to the start of the system include path
758 iquote
759 C ObjC C++ ObjC++ Joined Separate
760 -iquote <dir>   Add <dir> to the end of the quote include path
762 iwithprefix
763 C ObjC C++ ObjC++ Joined Separate
764 -iwithprefix <dir>      Add <dir> to the end of the system include path
766 iwithprefixbefore
767 C ObjC C++ ObjC++ Joined Separate
768 -iwithprefixbefore <dir>        Add <dir> to the end of the main include path
770 lang-asm
771 C Undocumented
773 lang-objc
774 C ObjC C++ ObjC++ Undocumented
776 nostdinc
777 C ObjC C++ ObjC++
778 Do not search standard system include directories (those specified with -isystem will still be used)
780 nostdinc++
781 C++ ObjC++
782 Do not search standard system include directories for C++
785 C ObjC C++ ObjC++ Joined Separate
786 ; Documented in common.opt
788 pedantic
789 C ObjC C++ ObjC++
790 ; Documented in common.opt
792 pedantic-errors
793 C ObjC C++ ObjC++
794 ; Documented in common.opt
796 print-objc-runtime-info
797 ObjC ObjC++
798 Generate C header of platform-specific features
800 remap
801 C ObjC C++ ObjC++
802 Remap file names when including files
804 std=c++98
805 C++ ObjC++
806 Conform to the ISO 1998 C++ standard
808 std=c89
809 C ObjC
810 Conform to the ISO 1990 C standard
812 std=c99
813 C ObjC
814 Conform to the ISO 1999 C standard
816 std=c9x
817 C ObjC
818 Deprecated in favor of -std=c99
820 std=gnu++98
821 C++ ObjC++
822 Conform to the ISO 1998 C++ standard with GNU extensions
824 std=gnu89
825 C ObjC
826 Conform to the ISO 1990 C standard with GNU extensions
828 std=gnu99
829 C ObjC
830 Conform to the ISO 1999 C standard with GNU extensions
832 std=gnu9x
833 C ObjC
834 Deprecated in favor of -std=gnu99
836 std=iso9899:1990
837 C ObjC
838 Deprecated in favor of -std=c89
840 std=iso9899:199409
841 C ObjC
842 Conform to the ISO 1990 C standard as amended in 1994
844 std=iso9899:1999
845 C ObjC
846 Deprecated in favor of -std=c99
848 std=iso9899:199x
849 C ObjC
850 Deprecated in favor of -std=c99
852 traditional-cpp
853 C ObjC C++ ObjC++
854 Enable traditional preprocessing
856 trigraphs
857 C ObjC C++ ObjC++
858 -trigraphs      Support ISO C trigraphs
860 undef
861 C ObjC C++ ObjC++
862 Do not predefine system-specific and GCC-specific macros
865 C ObjC C++ ObjC++
866 Enable verbose output
869 C ObjC C++ ObjC++
870 ; Documented in common.opt
872 ; This comment is to ensure we retain the blank line above.