* config/i386/i386.h (GENERAL_REGNO_P): Use STACK_POINTER_REGNUM.
[official-gcc.git] / gcc / c.opt
blob0aa0a3ad30c9df9a44b23d6d0da0a41fc24ae5c0
1 ; Options for the C, ObjC, C++ and ObjC++ front ends.
2 ; Copyright (C) 2003, 2004, 2005, 2006 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.
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.
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, 51 Franklin Street, Fifth Floor, Boston, MA
19 ; 02110-1301, USA.
21 ; See the GCC internals manual for a description of this file's format.
23 ; Please try to keep this file in ASCII collating order.
25 Language
28 Language
29 ObjC
31 Language
32 C++
34 Language
35 ObjC++
37 -output-pch=
38 C ObjC C++ ObjC++ Joined Separate
41 C ObjC C++ ObjC++ Joined Separate
42 -A<question>=<answer>   Assert the <answer> to <question>.  Putting '-' before <question> disables the <answer> to <question>
45 C ObjC C++ ObjC++
46 Do not discard comments
49 C ObjC C++ ObjC++
50 Do not discard comments in macro expansions
53 C ObjC C++ ObjC++ Joined Separate
54 -D<macro>[=<val>]       Define a <macro> with <val> as its value.  If just <macro> is given, <val> is taken to be 1
57 C ObjC C++ ObjC++ Undocumented
60 C ObjC C++ ObjC++ Joined Separate
61 -F <dir>        Add <dir> to the end of the main framework include path
64 C ObjC C++ ObjC++
65 Print the name of header files as they are used
68 C ObjC C++ ObjC++ Joined Separate
69 -I <dir>        Add <dir> to the end of the main include path
72 C ObjC C++ ObjC++
73 Generate make dependencies
76 C ObjC C++ ObjC++ Separate
77 Generate make dependencies and compile
80 C ObjC C++ ObjC++ Joined Separate
81 -MF <file>      Write dependency output to the given file
84 C ObjC C++ ObjC++
85 Treat missing header files as generated files
88 C ObjC C++ ObjC++
89 Like -M but ignore system header files
91 MMD
92 C ObjC C++ ObjC++ Separate
93 Like -MD but ignore system header files
96 C ObjC C++ ObjC++
97 Generate phony targets for all headers
100 C ObjC C++ ObjC++ Joined Separate
101 -MQ <target>    Add a MAKE-quoted target
104 C ObjC C++ ObjC++ Joined Separate
105 -MT <target>    Add an unquoted target
108 C ObjC C++ ObjC++
109 Do not generate #line directives
112 C ObjC C++ ObjC++ Joined Separate
113 -U<macro>       Undefine <macro>
115 Wabi
116 C++ ObjC++ Var(warn_abi)
117 Warn about things that will change when compiling with an ABI-compliant compiler
119 Wall
120 C ObjC C++ ObjC++
121 Enable most warning messages
123 Wassign-intercept
124 ObjC ObjC++ Var(warn_assign_intercept)
125 Warn whenever an Objective-C assignment is being intercepted by the garbage collector
127 Wbad-function-cast
128 C ObjC Var(warn_bad_function_cast)
129 Warn about casting functions to incompatible types
131 Wc++-compat
132 C Var(warn_cxx_compat)
133 Warn about C constructs that are not in the common subset of C and C++
136 Wcast-qual
137 C ObjC C++ ObjC++ Var(warn_cast_qual)
138 Warn about casts which discard qualifiers
140 Wchar-subscripts
141 C ObjC C++ ObjC++ Var(warn_char_subscripts)
142 Warn about subscripts whose type is \"char\"
144 Wcomment
145 C ObjC C++ ObjC++
146 Warn about possibly nested block comments, and C++ comments spanning more than one physical line
148 Wcomments
149 C ObjC C++ ObjC++
150 Synonym for -Wcomment
152 Wconversion
153 C ObjC C++ ObjC++ Var(warn_conversion)
154 Warn about possibly confusing type conversions
156 Wctor-dtor-privacy
157 C++ ObjC++ Var(warn_ctor_dtor_privacy)
158 Warn when all constructors and destructors are private
160 Wdeclaration-after-statement
161 C ObjC Var(warn_declaration_after_statement)
162 Warn when a declaration is found after a statement
164 Wdeprecated
165 C++ ObjC++ Var(warn_deprecated) Init(1)
166 Warn about deprecated compiler features
168 Wdiv-by-zero
169 C ObjC C++ Var(warn_div_by_zero) Init(1)
170 Warn about compile-time integer division by zero
172 Weffc++
173 C++ ObjC++ Var(warn_ecpp)
174 Warn about violations of Effective C++ style rules
176 Wendif-labels
177 C ObjC C++ ObjC++
178 Warn about stray tokens after #elif and #endif
180 Werror
181 C ObjC C++ ObjC++
182 ; Documented in common.opt
184 Werror-implicit-function-declaration
185 C ObjC RejectNegative
186 Make implicit function declarations an error
188 Wfloat-equal
189 C ObjC C++ ObjC++ Var(warn_float_equal)
190 Warn if testing floating point numbers for equality
192 Wformat
193 C ObjC C++ ObjC++
194 Warn about printf/scanf/strftime/strfmon format string anomalies
196 Wformat-extra-args
197 C ObjC C++ ObjC++ Var(warn_format_extra_args)
198 Warn if passing too many arguments to a function for its format string
200 Wformat-nonliteral
201 C ObjC C++ ObjC++ Var(warn_format_nonliteral)
202 Warn about format strings that are not literals
204 Wformat-security
205 C ObjC C++ ObjC++ Var(warn_format_security)
206 Warn about possible security problems with format functions
208 Wformat-y2k
209 C ObjC C++ ObjC++ Var(warn_format_y2k)
210 Warn about strftime formats yielding 2-digit years
212 Wformat-zero-length
213 C ObjC Var(warn_format_zero_length)
214 Warn about zero-length formats
216 Wformat=
217 C ObjC C++ ObjC++ Joined
219 Winit-self
220 C ObjC C++ ObjC++ Var(warn_init_self)
221 Warn about variables which are initialized to themselves
223 Wimplicit
224 C ObjC C++ ObjC++
226 Wimplicit-function-declaration
227 C ObjC Var(mesg_implicit_function_declaration) Init(-1)
228 Warn about implicit function declarations
230 Wimplicit-int
231 C ObjC Var(warn_implicit_int)
232 Warn when a declaration does not specify a type
234 Wimport
235 C ObjC C++ ObjC++
236 Deprecated.  This switch has no effect
238 Wint-to-pointer-cast
239 C ObjC Var(warn_int_to_pointer_cast) Init(1)
240 Warn when there is a cast to a pointer from an integer of a different size
242 Winvalid-offsetof
243 C++ ObjC++ Var(warn_invalid_offsetof) Init(1)
244 Warn about invalid uses of the \"offsetof\" macro
246 Winvalid-pch
247 C ObjC C++ ObjC++
248 Warn about PCH files that are found but not used
250 Wlong-long
251 C ObjC C++ ObjC++ Var(warn_long_long) Init(1)
252 Do not warn about using \"long long\" when -pedantic
254 Wmain
255 C ObjC
256 Warn about suspicious declarations of \"main\"
258 Wmissing-braces
259 C ObjC C++ ObjC++ Var(warn_missing_braces)
260 Warn about possibly missing braces around initializers
262 Wmissing-declarations
263 C ObjC Var(warn_missing_declarations)
264 Warn about global functions without previous declarations
266 Wmissing-field-initializers
267 C ObjC C++ ObjC++ Var(warn_missing_field_initializers) Init(-1)
268 Warn about missing fields in struct initializers
270 Wmissing-format-attribute
271 C ObjC C++ ObjC++ Var(warn_missing_format_attribute)
272 Warn about functions which might be candidates for format attributes
274 Wmissing-include-dirs
275 C ObjC C++ ObjC++
276 Warn about user-specified include directories that do not exist
278 Wmissing-prototypes
279 C ObjC Var(warn_missing_prototypes)
280 Warn about global functions without prototypes
282 Wmultichar
283 C ObjC C++ ObjC++
284 Warn about use of multi-character character constants
286 Wnested-externs
287 C ObjC Var(warn_nested_externs)
288 Warn about \"extern\" declarations not at file scope
290 Wnon-template-friend
291 C++ ObjC++ Var(warn_nontemplate_friend) Init(1)
292 Warn when non-templatized friend functions are declared within a template
294 Wnon-virtual-dtor
295 C++ ObjC++ Var(warn_nonvdtor)
296 Warn about non-virtual destructors
298 Wnonnull
299 C ObjC Var(warn_nonnull)
300 Warn about NULL being passed to argument slots marked as requiring non-NULL
302 Wnormalized=
303 C ObjC C++ ObjC++ Joined
304 -Wnormalized=<id|nfc|nfkc>      Warn about non-normalised Unicode strings
306 Wold-style-cast
307 C++ ObjC++ Var(warn_old_style_cast)
308 Warn if a C-style cast is used in a program
310 Wold-style-definition
311 C ObjC Var(warn_old_style_definition)
312 Warn if an old-style parameter definition is used
314 Woverlength-strings
315 C ObjC C++ ObjC++ Var(warn_overlength_strings) Init(-1)
316 Warn if a string is longer than the maximum portable length specified by the standard
318 Woverloaded-virtual
319 C++ ObjC++ Var(warn_overloaded_virtual)
320 Warn about overloaded virtual function names
322 Woverride-init
323 C ObjC Var(warn_override_init) Init(-1)
324 Warn about overriding initializers without side effects
326 Wparentheses
327 C ObjC C++ ObjC++ Var(warn_parentheses)
328 Warn about possibly missing parentheses
330 Wpmf-conversions
331 C++ ObjC++ Var(warn_pmf2ptr) Init(1)
332 Warn when converting the type of pointers to member functions
334 Wpointer-arith
335 C ObjC C++ ObjC++ Var(warn_pointer_arith)
336 Warn about function pointer arithmetic
338 Wpointer-to-int-cast
339 C ObjC Var(warn_pointer_to_int_cast) Init(1)
340 Warn when a pointer is cast to an integer of a different size
342 Wpragmas
343 C ObjC C++ ObjC++ Var(warn_pragmas) Init(1)
344 Warn about misuses of pragmas
346 Wprotocol
347 ObjC ObjC++ Var(warn_protocol) Init(1)
348 Warn if inherited methods are unimplemented
350 Wredundant-decls
351 C ObjC C++ ObjC++ Var(warn_redundant_decls)
352 Warn about multiple declarations of the same object
354 Wreorder
355 C++ ObjC++ Var(warn_reorder)
356 Warn when the compiler reorders code
358 Wreturn-type
359 C ObjC C++ ObjC++ Var(warn_return_type)
360 Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)
362 Wselector
363 ObjC ObjC++ Var(warn_selector)
364 Warn if a selector has multiple methods
366 Wsequence-point
367 C ObjC C++ ObjC++ Var(warn_sequence_point)
368 Warn about possible violations of sequence point rules
370 Wsign-compare
371 C ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1)
372 Warn about signed-unsigned comparisons
374 Wsign-promo
375 C++ ObjC++ Var(warn_sign_promo)
376 Warn when overload promotes from unsigned to signed
378 Wstrict-null-sentinel
379 C++ ObjC++
380 Warn about uncasted NULL used as sentinel
382 Wstrict-prototypes
383 C ObjC Var(warn_strict_prototypes)
384 Warn about unprototyped function declarations
386 Wstrict-selector-match
387 ObjC ObjC++ Var(warn_strict_selector_match)
388 Warn if type signatures of candidate methods do not match exactly
390 Wsynth
391 C++ ObjC++ Var(warn_synth)
392 Warn when synthesis behavior differs from Cfront
394 Wsystem-headers
395 C ObjC C++ ObjC++
396 Do not suppress warnings from system headers
398 Wtraditional
399 C ObjC Var(warn_traditional)
400 Warn about features not present in traditional C
402 Wtrigraphs
403 C ObjC C++ ObjC++
404 Warn if trigraphs are encountered that might affect the meaning of the program
406 Wundeclared-selector
407 ObjC ObjC++ Var(warn_undeclared_selector)
408 Warn about @selector()s without previously declared methods
410 Wundef
411 C ObjC C++ ObjC++
412 Warn if an undefined macro is used in an #if directive
414 Wunknown-pragmas
415 C ObjC C++ ObjC++
416 Warn about unrecognized pragmas
418 Wunused-macros
419 C ObjC C++ ObjC++
420 Warn about macros defined in the main file that are not used
422 Wvariadic-macros
423 C ObjC C++ ObjC++
424 Do not warn about using variadic macros when -pedantic
426 Wwrite-strings
427 C ObjC C++ ObjC++ Var(warn_write_strings)
428 In C++, nonzero means warn about deprecated conversion from string literals to `char *'.  In C, similar warning, except that the conversion is of course not deprecated by the ISO C standard.
430 Wpointer-sign
431 C ObjC Var(warn_pointer_sign) Init(-1)
432 Warn when a pointer differs in signedness in an assignment
434 ansi
435 C ObjC C++ ObjC++
436 A synonym for -std=c89 (for C) or -std=c++98 (for C++)
439 C ObjC C++ ObjC++ Joined
440 ; Documented in common.opt.  FIXME - what about -dI, -dD, -dN and -dD?
442 faccess-control
443 C++ ObjC++
444 Enforce class member access control semantics
446 fall-virtual
447 C++ ObjC++
449 falt-external-templates
450 C++ ObjC++
451 Change when template instances are emitted
453 fasm
454 C ObjC C++ ObjC++
455 Recognize the \"asm\" keyword
457 fbuiltin
458 C ObjC C++ ObjC++
459 Recognize built-in functions
461 fbuiltin-
462 C ObjC C++ ObjC++ Joined
464 fcheck-new
465 C++ ObjC++
466 Check the return value of new
468 fcond-mismatch
469 C ObjC C++ ObjC++
470 Allow the arguments of the '?' operator to have different types
472 fconserve-space
473 C++ ObjC++
474 Reduce the size of object files
476 fconstant-string-class=
477 ObjC ObjC++ Joined
478 -fconst-string-class=<name>     Use class <name> for constant strings
480 fdefault-inline
481 C++ ObjC++
482 Inline member functions by default
484 fdollars-in-identifiers
485 C ObjC C++ ObjC++
486 Permit '$' as an identifier character
488 felide-constructors
489 C++ ObjC++
491 fenforce-eh-specs
492 C++ ObjC++
493 Generate code to check exception specifications
495 fenum-int-equiv
496 C++ ObjC++
498 fexec-charset=
499 C ObjC C++ ObjC++ Joined RejectNegative
500 -fexec-charset=<cset>   Convert all strings and character constants to character set <cset>
502 fextended-identifiers
503 C ObjC C++ ObjC++
504 Permit universal character names (\\u and \\U) in identifiers
506 finput-charset=
507 C ObjC C++ ObjC++ Joined RejectNegative
508 -finput-charset=<cset>  Specify the default character set for source files
511 fexternal-templates
512 C++ ObjC++
514 ffixed-form
515 C ObjC
517 ffixed-line-length-none
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 ffriend-injection
569 C++ Var(flag_friend_injection)
570 Inject friend functions into enclosing namespace
572 flabels-ok
573 C++ ObjC++
575 fms-extensions
576 C ObjC C++ ObjC++
577 Don't warn about uses of Microsoft extensions
579 fname-mangling-version-
580 C++ ObjC++ Joined
582 fnew-abi
583 C++ ObjC++
585 fnext-runtime
586 ObjC ObjC++
587 Generate code for NeXT (Apple Mac OS X) runtime environment
589 fnil-receivers
590 ObjC ObjC++
591 Assume that receivers of Objective-C messages may be nil
593 fnonansi-builtins
594 C++ ObjC++
596 fnonnull-objects
597 C++ ObjC++
599 ; Generate special '- .cxx_construct' and '- .cxx_destruct' methods
600 ; to initialize any non-POD ivars in Objective-C++ classes.
601 fobjc-call-cxx-cdtors
602 ObjC++ Var(flag_objc_call_cxx_cdtors)
603 Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed
605 fobjc-direct-dispatch
606 ObjC ObjC++ Var(flag_objc_direct_dispatch)
607 Allow fast jumps to the message dispatcher
609 ; Nonzero means that we will allow new ObjC exception syntax (@throw,
610 ; @try, etc.) in source code.
611 fobjc-exceptions
612 ObjC ObjC++ Var(flag_objc_exceptions)
613 Enable Objective-C exception and synchronization syntax
615 fobjc-gc
616 ObjC ObjC++ Var(flag_objc_gc)
617 Enable garbage collection (GC) in Objective-C/Objective-C++ programs
619 ; Nonzero means that we generate NeXT setjmp based exceptions.
620 fobjc-sjlj-exceptions
621 ObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1)
622 Enable Objective-C setjmp exception handling runtime
624 fopenmp
625 C ObjC C++ ObjC++ Var(flag_openmp)
626 Enable OpenMP
628 foperator-names
629 C++ ObjC++
630 Recognize C++ kewords like \"compl\" and \"xor\"
632 foptional-diags
633 C++ ObjC++
634 Enable optional diagnostics
636 fpch-deps
637 C ObjC C++ ObjC++
639 fpch-preprocess
640 C ObjC C++ ObjC++
641 Look for and use PCH files even when preprocessing
643 fpermissive
644 C++ ObjC++
645 Downgrade conformance errors to warnings
647 fpreprocessed
648 C ObjC C++ ObjC++
649 Treat the input file as already preprocessed
651 freplace-objc-classes
652 ObjC ObjC++
653 Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime
655 frepo
656 C++ ObjC++
657 Enable automatic template instantiation
659 frtti
660 C++ ObjC++
661 Generate run time type descriptor information
663 fshort-double
664 C ObjC C++ ObjC++
665 Use the same size for double as for float
667 fshort-enums
668 C ObjC C++ ObjC++
669 Use the narrowest integer type possible for enumeration types
671 fshort-wchar
672 C ObjC C++ ObjC++
673 Force the underlying type for \"wchar_t\" to be \"unsigned short\"
675 fsigned-bitfields
676 C ObjC C++ ObjC++
677 When \"signed\" or \"unsigned\" is not given make the bitfield signed
679 fsigned-char
680 C ObjC C++ ObjC++
681 Make \"char\" signed by default
683 fsquangle
684 C++ ObjC++
686 fstats
687 C++ ObjC++
688 Display statistics accumulated during compilation
690 fstrict-prototype
691 C++ ObjC++
693 ftabstop=
694 C ObjC C++ ObjC++ Joined RejectNegative UInteger
695 -ftabstop=<number>      Distance between tab stops for column reporting
697 ftemplate-depth-
698 C++ ObjC++ Joined RejectNegative UInteger
699 -ftemplate-depth-<number>       Specify maximum template instantiation depth
701 fthis-is-variable
702 C++ ObjC++
704 fthreadsafe-statics
705 C++ ObjC++
706 -fno-threadsafe-statics Do not generate thread-safe code for initializing local statics
708 funsigned-bitfields
709 C ObjC C++ ObjC++
710 When \"signed\" or \"unsigned\" is not given make the bitfield unsigned
712 funsigned-char
713 C ObjC C++ ObjC++
714 Make \"char\" unsigned by default
716 fuse-cxa-atexit
717 C++ ObjC++
718 Use __cxa_atexit to register destructors
720 fuse-cxa-get-exception-ptr
721 C++ ObjC++
722 Use __cxa_get_exception_ptr in exception handling
724 fvisibility-inlines-hidden
725 C++ ObjC++
726 Marks all inlined methods as having hidden visibility
728 fvtable-gc
729 C++ ObjC++
730 Discard unused virtual functions
732 fvtable-thunks
733 C++ ObjC++
734 Implement vtables using thunks
736 fweak
737 C++ ObjC++
738 Emit common-like symbols as weak symbols
740 fwide-exec-charset=
741 C ObjC C++ ObjC++ Joined RejectNegative
742 -fwide-exec-charset=<cset>      Convert all wide strings and character constants to character set <cset>
744 fworking-directory
745 C ObjC C++ ObjC++
746 Generate a #line directive pointing at the current working directory
748 fxref
749 C++ ObjC++
750 Emit cross referencing information
752 fzero-link
753 ObjC ObjC++
754 Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode
756 gen-decls
757 ObjC ObjC++
758 Dump declarations to a .decl file
760 idirafter
761 C ObjC C++ ObjC++ Joined Separate
762 -idirafter <dir>        Add <dir> to the end of the system include path
764 imacros
765 C ObjC C++ ObjC++ Joined Separate
766 -imacros <file> Accept definition of macros in <file>
768 imultilib
769 C ObjC C++ ObjC++ Joined Separate
770 -imultilib <dir> Set <dir> to be the multilib include subdirectory
772 include
773 C ObjC C++ ObjC++ Joined Separate
774 -include <file> Include the contents of <file> before other files
776 iprefix
777 C ObjC C++ ObjC++ Joined Separate
778 -iprefix <path> Specify <path> as a prefix for next two options
780 isysroot
781 C ObjC C++ ObjC++ Joined Separate
782 -isysroot <dir> Set <dir> to be the system root directory
784 isystem
785 C ObjC C++ ObjC++ Joined Separate
786 -isystem <dir>  Add <dir> to the start of the system include path
788 iquote
789 C ObjC C++ ObjC++ Joined Separate
790 -iquote <dir>   Add <dir> to the end of the quote include path
792 iwithprefix
793 C ObjC C++ ObjC++ Joined Separate
794 -iwithprefix <dir>      Add <dir> to the end of the system include path
796 iwithprefixbefore
797 C ObjC C++ ObjC++ Joined Separate
798 -iwithprefixbefore <dir>        Add <dir> to the end of the main include path
800 lang-asm
801 C Undocumented
803 lang-fortran
804 C Undocumented
806 lang-objc
807 C ObjC C++ ObjC++ Undocumented
809 nostdinc
810 C ObjC C++ ObjC++
811 Do not search standard system include directories (those specified with -isystem will still be used)
813 nostdinc++
814 C++ ObjC++
815 Do not search standard system include directories for C++
818 C ObjC C++ ObjC++ Joined Separate
819 ; Documented in common.opt
821 pedantic
822 C ObjC C++ ObjC++
823 ; Documented in common.opt
825 pedantic-errors
826 C ObjC C++ ObjC++
827 ; Documented in common.opt
829 print-objc-runtime-info
830 ObjC ObjC++
831 Generate C header of platform-specific features
833 print-pch-checksum
834 C ObjC C++ ObjC++
835 Print a checksum of the executable for PCH validity checking, and stop
837 remap
838 C ObjC C++ ObjC++
839 Remap file names when including files
841 std=c++98
842 C++ ObjC++
843 Conform to the ISO 1998 C++ standard
845 std=c89
846 C ObjC
847 Conform to the ISO 1990 C standard
849 std=c99
850 C ObjC
851 Conform to the ISO 1999 C standard
853 std=c9x
854 C ObjC
855 Deprecated in favor of -std=c99
857 std=gnu++98
858 C++ ObjC++
859 Conform to the ISO 1998 C++ standard with GNU extensions
861 std=gnu89
862 C ObjC
863 Conform to the ISO 1990 C standard with GNU extensions
865 std=gnu99
866 C ObjC
867 Conform to the ISO 1999 C standard with GNU extensions
869 std=gnu9x
870 C ObjC
871 Deprecated in favor of -std=gnu99
873 std=iso9899:1990
874 C ObjC
875 Conform to the ISO 1990 C standard
877 std=iso9899:199409
878 C ObjC
879 Conform to the ISO 1990 C standard as amended in 1994
881 std=iso9899:1999
882 C ObjC
883 Conform to the ISO 1999 C standard
885 std=iso9899:199x
886 C ObjC
887 Deprecated in favor of -std=iso9899:1999
889 traditional-cpp
890 C ObjC C++ ObjC++
891 Enable traditional preprocessing
893 trigraphs
894 C ObjC C++ ObjC++
895 -trigraphs      Support ISO C trigraphs
897 undef
898 C ObjC C++ ObjC++
899 Do not predefine system-specific and GCC-specific macros
902 C ObjC C++ ObjC++
903 Enable verbose output
906 C ObjC C++ ObjC++
907 ; Documented in common.opt
909 ; This comment is to ensure we retain the blank line above.