c.opt revision 267654
12089Ssos; Options for the C, ObjC, C++ and ObjC++ front ends.
216565Ssos; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
32089Ssos;
42089Ssos; This file is part of GCC.
52089Ssos;
62089Ssos; GCC is free software; you can redistribute it and/or modify it under
72089Ssos; the terms of the GNU General Public License as published by the Free
82089Ssos; Software Foundation; either version 2, or (at your option) any later
95994Ssos; version.
105994Ssos;
112089Ssos; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
122089Ssos; WARRANTY; without even the implied warranty of MERCHANTABILITY or
132089Ssos; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
142089Ssos; for more details.
152089Ssos;
162089Ssos; You should have received a copy of the GNU General Public License
172089Ssos; along with GCC; see the file COPYING.  If not, write to the Free
182089Ssos; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
192089Ssos; 02110-1301, USA.
202089Ssos
212089Ssos; See the GCC internals manual for a description of this file's format.
222089Ssos
232089Ssos; $FreeBSD: releng/9.3/contrib/gcc/c.opt 260569 2014-01-12 20:10:12Z pfg $
242089Ssos; Please try to keep this file in ASCII collating order.
252089Ssos
262089SsosLanguage
272089SsosC
282089Ssos
2930764ScharnierLanguage
3030764ScharnierObjC
3150479Speter
3230764ScharnierLanguage
3330764ScharnierC++
342089Ssos
3530764ScharnierLanguage
3655849SyokotaObjC++
372089Ssos
3823457Sbrian-output-pch=
3930764ScharnierC ObjC C++ ObjC++ Joined Separate
4023702Speter
412089SsosA
422089SsosC ObjC C++ ObjC++ Joined Separate
432089Ssos-A<question>=<answer>	Assert the <answer> to <question>.  Putting '-' before <question> disables the <answer> to <question>
4423457Sbrian
452089SsosC
462089SsosC ObjC C++ ObjC++
472089SsosDo not discard comments
482089Ssos
492089SsosCC
502089SsosC ObjC C++ ObjC++
516628SsosDo not discard comments in macro expansions
522089Ssos
536047SsosD
542089SsosC ObjC C++ ObjC++ Joined Separate
552089Ssos-D<macro>[=<val>]	Define a <macro> with <val> as its value.  If just <macro> is given, <val> is taken to be 1
562089Ssos
572089SsosE
5830764ScharnierC ObjC C++ ObjC++ Undocumented
596628Ssos
606628SsosF
6155849SyokotaC ObjC C++ ObjC++ Joined Separate
6230764Scharnier-F <dir>	Add <dir> to the end of the main framework include path
6355849Syokota
6455849SyokotaH
6555849SyokotaC ObjC C++ ObjC++
6630764ScharnierPrint the name of header files as they are used
676628Ssos
686628SsosI
692089SsosC ObjC C++ ObjC++ Joined Separate
702089Ssos-I <dir>	Add <dir> to the end of the main include path
712089Ssos
722089SsosM
732089SsosC ObjC C++ ObjC++
7430764ScharnierGenerate make dependencies
752089Ssos
762089SsosMD
772089SsosC ObjC C++ ObjC++ Separate
782089SsosGenerate make dependencies and compile
792089Ssos
802089SsosMF
816628SsosC ObjC C++ ObjC++ Joined Separate
826628Ssos-MF <file>	Write dependency output to the given file
836628Ssos
842089SsosMG
852089SsosC ObjC C++ ObjC++
8652262SbillfTreat missing header files as generated files
872089Ssos
882089SsosMM
892089SsosC ObjC C++ ObjC++
902089SsosLike -M but ignore system header files
9152262Sbillf
922089SsosMMD
932089SsosC ObjC C++ ObjC++ Separate
942089SsosLike -MD but ignore system header files
952089Ssos
962089SsosMP
972089SsosC ObjC C++ ObjC++
982089SsosGenerate phony targets for all headers
992089Ssos
1002089SsosMQ
1012089SsosC ObjC C++ ObjC++ Joined Separate
1022089Ssos-MQ <target>	Add a MAKE-quoted target
1032089Ssos
1042089SsosMT
1052089SsosC ObjC C++ ObjC++ Joined Separate
1062089Ssos-MT <target>	Add an unquoted target
10723457Sbrian
1082089SsosP
1092089SsosC ObjC C++ ObjC++
1102089SsosDo not generate #line directives
1112089Ssos
1122089SsosU
1132089SsosC ObjC C++ ObjC++ Joined Separate
1142089Ssos-U<macro>	Undefine <macro>
1152089Ssos
11623457SbrianWabi
11723457SbrianC++ ObjC++ Var(warn_abi)
1182089SsosWarn about things that will change when compiling with an ABI-compliant compiler
1192089Ssos
1202089SsosWaddress
12130764ScharnierC ObjC C++ ObjC++ Var(warn_address)
1222089SsosWarn about suspicious uses of memory addresses
1232089Ssos
1242089SsosWall
12523457SbrianC ObjC C++ ObjC++
1262089SsosEnable most warning messages
1272089Ssos
12830764ScharnierWassign-intercept
12923457SbrianObjC ObjC++ Var(warn_assign_intercept)
1302089SsosWarn whenever an Objective-C assignment is being intercepted by the garbage collector
1312089Ssos
1322089SsosWbad-function-cast
1332089SsosC ObjC Var(warn_bad_function_cast)
13430764ScharnierWarn about casting functions to incompatible types
13523457Sbrian
1362089SsosWc++-compat
1372089SsosC ObjC Var(warn_cxx_compat)
1382089SsosWarn about C constructs that are not in the common subset of C and C++
1392089Ssos
1402089Ssos
1416628SsosWcast-qual
1422089SsosC ObjC C++ ObjC++ Var(warn_cast_qual)
1432089SsosWarn about casts which discard qualifiers
1442089Ssos
1452089SsosWchar-subscripts
1462089SsosC ObjC C++ ObjC++ Var(warn_char_subscripts)
14730764ScharnierWarn about subscripts whose type is \"char\"
1482089Ssos
1492089SsosWcomment
1502089SsosC ObjC C++ ObjC++
1512089SsosWarn about possibly nested block comments, and C++ comments spanning more than one physical line
1522089Ssos
1532089SsosWcomments
1542089SsosC ObjC C++ ObjC++
1552089SsosSynonym for -Wcomment
1562089Ssos
15730764ScharnierWconversion
1582089SsosC ObjC C++ ObjC++ Var(warn_conversion)
1592089SsosWarn about possibly confusing type conversions
1602089Ssos
1612089SsosWctor-dtor-privacy
1622089SsosC++ ObjC++ Var(warn_ctor_dtor_privacy)
1632089SsosWarn when all constructors and destructors are private
1648857Srgrimes
1652089SsosWdeclaration-after-statement
1662089SsosC ObjC Var(warn_declaration_after_statement)
1672089SsosWarn when a declaration is found after a statement
1682089Ssos
1692089SsosWdeprecated
1702089SsosC++ ObjC++ Var(warn_deprecated) Init(1)
1712089SsosWarn about deprecated compiler features
1728857Srgrimes
1732089SsosWdiv-by-zero
1742089SsosC ObjC C++ ObjC++ Var(warn_div_by_zero) Init(1)
17523457SbrianWarn about compile-time integer division by zero
17637636Sbde
17737636SbdeWeffc++
1782089SsosC++ ObjC++ Var(warn_ecpp)
1792089SsosWarn about violations of Effective C++ style rules
1802089Ssos
1812089SsosWendif-labels
1822089SsosC ObjC C++ ObjC++
1832089SsosWarn about stray tokens after #elif and #endif
18423457Sbrian
18523457SbrianWerror
1862089SsosC ObjC C++ ObjC++
1872089Ssos; Documented in common.opt
1882089Ssos
18930764ScharnierWerror-implicit-function-declaration
1902089SsosC ObjC RejectNegative
1912089SsosMake implicit function declarations an error
1922089Ssos
1932089SsosWfloat-equal
1942089SsosC ObjC C++ ObjC++ Var(warn_float_equal)
1952089SsosWarn if testing floating point numbers for equality
1962089Ssos
1972089SsosWformat
1982089SsosC ObjC C++ ObjC++
1992089SsosWarn about printf/scanf/strftime/strfmon format string anomalies
2002089Ssos
2012089SsosWformat-extra-args
2022089SsosC ObjC C++ ObjC++ Var(warn_format_extra_args)
2032089SsosWarn if passing too many arguments to a function for its format string
2042089Ssos
20530764ScharnierWformat-nonliteral
20623457SbrianC ObjC C++ ObjC++ Var(warn_format_nonliteral)
2072089SsosWarn about format strings that are not literals
2082089Ssos
2092089SsosWformat-security
2102089SsosC ObjC C++ ObjC++ Var(warn_format_security)
2112089SsosWarn about possible security problems with format functions
2122089Ssos
21330764ScharnierWformat-y2k
21423457SbrianC ObjC C++ ObjC++ Var(warn_format_y2k)
2152089SsosWarn about strftime formats yielding 2-digit years
2162089Ssos
2172089SsosWformat-zero-length
2182089SsosC ObjC Var(warn_format_zero_length)
2192089SsosWarn about zero-length formats
22030764Scharnier
22123457SbrianWformat=
2222089SsosC ObjC C++ ObjC++ Joined
2232089Ssos
2242089SsosWinit-self
2252089SsosC ObjC C++ ObjC++ Var(warn_init_self)
2262089SsosWarn about variables which are initialized to themselves
2272089Ssos
2282089SsosWimplicit
2292089SsosC ObjC C++ ObjC++
2302089Ssos
2312089SsosWimplicit-function-declaration
2322089SsosC ObjC Var(mesg_implicit_function_declaration) Init(-1)
2332089SsosWarn about implicit function declarations
2342089Ssos
23530764ScharnierWimplicit-int
2362089SsosC ObjC Var(warn_implicit_int)
2372089SsosWarn when a declaration does not specify a type
2382089Ssos
2392089SsosWimport
24030764ScharnierC ObjC C++ ObjC++
2412089SsosDeprecated.  This switch has no effect
2422089Ssos
2432089SsosWint-to-pointer-cast
2445536SsosC ObjC Var(warn_int_to_pointer_cast) Init(1)
2452089SsosWarn when there is a cast to a pointer from an integer of a different size
2465536Ssos
2472089SsosWinvalid-offsetof
2486230SsosC++ ObjC++ Var(warn_invalid_offsetof) Init(1)
2496230SsosWarn about invalid uses of the \"offsetof\" macro
2506230Ssos
2515536SsosWinvalid-pch
2526230SsosC ObjC C++ ObjC++
2536230SsosWarn about PCH files that are found but not used
2545536Ssos
25530764ScharnierWlong-long
2562089SsosC ObjC C++ ObjC++ Var(warn_long_long) Init(1)
2572089SsosDo not warn about using \"long long\" when -pedantic
2585536Ssos
2592089SsosWmain
2602089SsosC ObjC
26123457SbrianWarn about suspicious declarations of \"main\"
2622089Ssos
2632089SsosWmissing-braces
26439592SyokotaC ObjC C++ ObjC++ Var(warn_missing_braces)
26539592SyokotaWarn about possibly missing braces around initializers
26639592Syokota
26739592SyokotaWmissing-declarations
26839592SyokotaC ObjC Var(warn_missing_declarations)
26939592SyokotaWarn about global functions without previous declarations
27039592Syokota
27139592SyokotaWmissing-field-initializers
27239592SyokotaC ObjC C++ ObjC++ Var(warn_missing_field_initializers) Init(-1)
27339592SyokotaWarn about missing fields in struct initializers
27439592Syokota
27539592SyokotaWmissing-format-attribute
27639592SyokotaC ObjC C++ ObjC++ Var(warn_missing_format_attribute)
27739592SyokotaWarn about functions which might be candidates for format attributes
27839592Syokota
27939592SyokotaWmissing-include-dirs
28039592SyokotaC ObjC C++ ObjC++
28139592SyokotaWarn about user-specified include directories that do not exist
28239592Syokota
28348105SyokotaWmissing-prototypes
28448105SyokotaC ObjC Var(warn_missing_prototypes)
28548105SyokotaWarn about global functions without prototypes
28648105Syokota
28748105Syokota; APPLE LOCAL begin -Wmost
28848105SyokotaWmost
28948105SyokotaC ObjC C++ ObjC++ 
29039592SyokotaLike -Wall but without -Wparentheses
29139592Syokota; APPLE LOCAL end -Wmost
29239592Syokota
29339592SyokotaWmultichar
29439592SyokotaC ObjC C++ ObjC++
29539592SyokotaWarn about use of multi-character character constants
29639592Syokota
29739592SyokotaWnested-externs
29839592SyokotaC ObjC Var(warn_nested_externs)
29939592SyokotaWarn about \"extern\" declarations not at file scope
30042605Smjacob
30148105Syokota; APPLE LOCAL begin -Wnewline-eof
30248105SyokotaWnewline-eof
30339287SsosC ObjC C++ ObjC++
30439592SyokotaWarn about files missing a newline at the end of the file
3052089Ssos; APPLE LOCAL end -Wnewline-eof
30648105Syokota
30748105SyokotaWnon-template-friend
3082089SsosC++ ObjC++ Var(warn_nontemplate_friend) Init(1)
30939592SyokotaWarn when non-templatized friend functions are declared within a template
31039592Syokota
31139592SyokotaWnon-virtual-dtor
31239592SyokotaC++ ObjC++ Var(warn_nonvdtor)
31339592SyokotaWarn about non-virtual destructors
31439592Syokota
31539592SyokotaWnonnull
3162089SsosC ObjC Var(warn_nonnull)
3172089SsosWarn about NULL being passed to argument slots marked as requiring non-NULL
31830764Scharnier
31939287SsosWnormalized=
32039287SsosC ObjC C++ ObjC++ Joined
32139287Ssos-Wnormalized=<id|nfc|nfkc>	Warn about non-normalised Unicode strings
32239287Ssos
32348105SyokotaWold-style-cast
32448105SyokotaC++ ObjC++ Var(warn_old_style_cast)
32548105SyokotaWarn if a C-style cast is used in a program
32648105Syokota
32748105SyokotaWold-style-definition
32848105SyokotaC ObjC Var(warn_old_style_definition)
32948105SyokotaWarn if an old-style parameter definition is used
33048105Syokota
33139287SsosWoverlength-strings
3322089SsosC ObjC C++ ObjC++ Var(warn_overlength_strings) Init(-1)
3332089SsosWarn if a string is longer than the maximum portable length specified by the standard
3342089Ssos
3352089SsosWoverloaded-virtual
3368857SrgrimesC++ ObjC++ Var(warn_overloaded_virtual)
3372089SsosWarn about overloaded virtual function names
3382089Ssos
3392089SsosWoverride-init
3402089SsosC ObjC Var(warn_override_init) Init(-1)
3412089SsosWarn about overriding initializers without side effects
3422089Ssos
3432089SsosWparentheses
3442089SsosC ObjC C++ ObjC++ Var(warn_parentheses)
3452089SsosWarn about possibly missing parentheses
3462089Ssos
3472089SsosWpmf-conversions
34823457SbrianC++ ObjC++ Var(warn_pmf2ptr) Init(1)
3492089SsosWarn when converting the type of pointers to member functions
3502089Ssos
3512089SsosWpointer-arith
3522089SsosC ObjC C++ ObjC++ Var(warn_pointer_arith)
3532089SsosWarn about function pointer arithmetic
3542089Ssos
3552089SsosWpointer-to-int-cast
3568857SrgrimesC ObjC Var(warn_pointer_to_int_cast) Init(1)
3578857SrgrimesWarn when a pointer is cast to an integer of a different size
3582089Ssos
3592089SsosWpragmas
3602089SsosC ObjC C++ ObjC++ Var(warn_pragmas) Init(1)
3612089SsosWarn about misuses of pragmas
3622089Ssos
3632089SsosWprotocol
3642089SsosObjC ObjC++ Var(warn_protocol) Init(1)
36523457SbrianWarn if inherited methods are unimplemented
3662089Ssos
3672089SsosWredundant-decls
3682089SsosC ObjC C++ ObjC++ Var(warn_redundant_decls)
3692089SsosWarn about multiple declarations of the same object
3702089Ssos
3712089SsosWreorder
3728857SrgrimesC++ ObjC++ Var(warn_reorder)
3738857SrgrimesWarn when the compiler reorders code
3742089Ssos
3752089SsosWreturn-type
3762089SsosC ObjC C++ ObjC++ Var(warn_return_type)
3772089SsosWarn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)
3782089Ssos
3792089SsosWselector
3802089SsosObjC ObjC++ Var(warn_selector)
38123457SbrianWarn if a selector has multiple methods
38223457Sbrian
38323457SbrianWsequence-point
38423457SbrianC ObjC C++ ObjC++ Var(warn_sequence_point)
38523457SbrianWarn about possible violations of sequence point rules
38623457Sbrian
38730764ScharnierWsign-compare
38823457SbrianC ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1)
38923457SbrianWarn about signed-unsigned comparisons
39023457Sbrian
39123457SbrianWsign-promo
39251393SyokotaC++ ObjC++ Var(warn_sign_promo)
39330764ScharnierWarn when overload promotes from unsigned to signed
39442605Smjacob
39530764ScharnierWstrict-null-sentinel
39623457SbrianC++ ObjC++
39723457SbrianWarn about uncasted NULL used as sentinel
39823457Sbrian
3992089SsosWstrict-prototypes
4002089SsosC ObjC Var(warn_strict_prototypes)
4012089SsosWarn about unprototyped function declarations
4022089Ssos
4032089SsosWstrict-selector-match
4042089SsosObjC ObjC++ Var(warn_strict_selector_match)
4052089SsosWarn if type signatures of candidate methods do not match exactly
4062089Ssos
4078857SrgrimesWsynth
4082089SsosC++ ObjC++ Var(warn_synth)
4092089SsosWarn when synthesis behavior differs from Cfront
41016565Ssos
41155849SyokotaWsystem-headers
41255849SyokotaC ObjC C++ ObjC++
41355849SyokotaDo not suppress warnings from system headers
41455849Syokota
41555849SyokotaWtraditional
41655849SyokotaC ObjC Var(warn_traditional)
41755849SyokotaWarn about features not present in traditional C
41855849Syokota
41955849SyokotaWtrampolines
42055849SyokotaCommon Var(warn_trampolines)
42155849SyokotaWarn when trampolines are emitted
42255849Syokota
42355849SyokotaWtrigraphs
42455849SyokotaC ObjC C++ ObjC++
42555849SyokotaWarn if trigraphs are encountered that might affect the meaning of the program
42655849Syokota
42716565SsosWundeclared-selector
42816565SsosObjC ObjC++ Var(warn_undeclared_selector)
42916565SsosWarn about @selector()s without previously declared methods
43016565Ssos
43116565SsosWundef
43216565SsosC ObjC C++ ObjC++
43316565SsosWarn if an undefined macro is used in an #if directive
43416565Ssos
43516565SsosWunknown-pragmas
43630764ScharnierC ObjC C++ ObjC++
43716565SsosWarn about unrecognized pragmas
43816565Ssos
43916565SsosWunused-macros
44016565SsosC ObjC C++ ObjC++
44116565SsosWarn about macros defined in the main file that are not used
44239287Ssos
44339287SsosWvariadic-macros
44439287SsosC ObjC C++ ObjC++
44539287SsosDo not warn about using variadic macros when -pedantic
44639287Ssos
44739287SsosWvla
44839287SsosC ObjC C++ ObjC++ Var(warn_vla) Init(-1) Warning
44939287SsosWarn if a variable length array is used
45039287Ssos
45139287SsosWwrite-strings
45239287SsosC ObjC C++ ObjC++ Var(warn_write_strings)
45339287SsosIn 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.
45439287Ssos
45548105SyokotaWpointer-sign
45639287SsosC ObjC Var(warn_pointer_sign) Init(-1)
45739287SsosWarn when a pointer differs in signedness in an assignment
45839287Ssos
45939287Ssosansi
46039287SsosC ObjC C++ ObjC++
46139287SsosA synonym for -std=c89 (for C) or -std=c++98 (for C++)
46239287Ssos
46339287Ssosd
46439287SsosC ObjC C++ ObjC++ Joined
46539287Ssos; Documented in common.opt.  FIXME - what about -dI, -dD, -dN and -dD?
46623457Sbrian
46739287Ssosfaccess-control
46839287SsosC++ ObjC++
46942505SyokotaEnforce class member access control semantics
47039287Ssos
47139287Ssosfall-virtual
47239287SsosC++ ObjC++
47339287Ssos
47439287Ssosfalt-external-templates
47539287SsosC++ ObjC++
47639287SsosChange when template instances are emitted
47742505Syokota
47842505Syokotafasm
47942505SyokotaC ObjC C++ ObjC++
48039287SsosRecognize the \"asm\" keyword
48142505Syokota
48239287Ssosfbuiltin
48339287SsosC ObjC C++ ObjC++
48448105SyokotaRecognize built-in functions
48548105Syokota
48648105Syokotafbuiltin-
48748105SyokotaC ObjC C++ ObjC++ Joined
48848105Syokota
48948105Syokotafcheck-new
49048105SyokotaC++ ObjC++
49139287SsosCheck the return value of new
49239287Ssos
49339287Ssosfcond-mismatch
49439287SsosC ObjC C++ ObjC++
49539287SsosAllow the arguments of the '?' operator to have different types
49639287Ssos
49739287Ssosfconserve-space
49839287SsosC++ ObjC++
49939287SsosReduce the size of object files
50039287Ssos
50139287Ssosfconstant-string-class=
50239287SsosObjC ObjC++ Joined
50339287Ssos-fconst-string-class=<name>	Use class <name> for constant strings
50439287Ssos
50539287Ssosfdefault-inline
50639287SsosC++ ObjC++
50739287SsosInline member functions by default
50839287Ssos
50948105Syokotafdirectives-only
51048105SyokotaC ObjC C++ ObjC++
51139287SsosPreprocess directives only.
51239287Ssos
51339287Ssosfdollars-in-identifiers
51439287SsosC ObjC C++ ObjC++
51539287SsosPermit '$' as an identifier character
51639287Ssos
51739287Ssosfelide-constructors
51839287SsosC++ ObjC++
51939287Ssos
52039287Ssosfenforce-eh-specs
52139287SsosC++ ObjC++
52239287SsosGenerate code to check exception specifications
52339287Ssos
52439287Ssosfenum-int-equiv
52539287SsosC++ ObjC++
52639287Ssos
52739287Ssosfexec-charset=
52839287SsosC ObjC C++ ObjC++ Joined RejectNegative
52943186Sdfr-fexec-charset=<cset>	Convert all strings and character constants to character set <cset>
53043186Sdfr
53148105Syokotafextended-identifiers
53243186SdfrC ObjC C++ ObjC++
53339287SsosPermit universal character names (\\u and \\U) in identifiers
53439287Ssos
53539287Ssosfinput-charset=
53639287SsosC ObjC C++ ObjC++ Joined RejectNegative
53739287Ssos-finput-charset=<cset>	Specify the default character set for source files
53839287Ssos
53939287Ssos
54039287Ssosfexternal-templates
54139287SsosC++ ObjC++
54239287Ssos
54339287Ssosffor-scope
54439287SsosC++ ObjC++
54539287SsosScope of for-init-statement variables is local to the loop
54639287Ssos
54739287Ssosffreestanding
54839287SsosC ObjC
54939287SsosDo not assume that standard C libraries and \"main\" exist
5502089Ssos
5512089Ssosfgnu-keywords
5522089SsosC++ ObjC++
5532089SsosRecognize GNU-defined keywords
5542089Ssos
5552089Ssosfgnu-runtime
5562089SsosObjC ObjC++
5572089SsosGenerate code for GNU runtime environment
5582089Ssos
5598857Srgrimesfgnu89-inline
5608857SrgrimesC ObjC Var(flag_gnu89_inline) Init(-1)
5612089SsosUse traditional GNU semantics for inline functions
5622089Ssos
5638857Srgrimesfguiding-decls
5642089SsosC++ ObjC++
5652089Ssos
5662089Ssosfhandle-exceptions
56723457SbrianC++ ObjC++
5682089Ssos
5692089Ssosfhonor-std
5702089SsosC++ ObjC++
5712089Ssos
5728857Srgrimesfhosted
5732089SsosC ObjC
57430764ScharnierAssume normal C execution environment
57530764Scharnier
57655849Syokotafhuge-objects
5772089SsosC++ ObjC++
57816565SsosEnable support for huge objects
57916565Ssos
58016565Ssosfimplement-inlines
5812089SsosC++ ObjC++
5825536SsosExport functions even if they can be inlined
5832089Ssos
5842089Ssosfimplicit-inline-templates
5852089SsosC++ ObjC++
5862089SsosEmit implicit instantiations of inline templates
5872089Ssos
5882089Ssosfimplicit-templates
5892089SsosC++ ObjC++
5902089SsosEmit implicit instantiations of templates
59139287Ssos
59239287Ssosffriend-injection
59339287SsosC++ ObjC++ Var(flag_friend_injection)
5942089SsosInject friend functions into enclosing namespace
5952089Ssos
5962089Ssosflabels-ok
5972089SsosC++ ObjC++
5982089Ssos
5992089Ssosflax-vector-conversions
60055849SyokotaC ObjC C++ ObjC++
60155849SyokotaAllow implicit conversions between vectors with differing numbers of subparts and/or differing element types.
60255849Syokota
60316565Ssosfms-extensions
60416565SsosC ObjC C++ ObjC++
60516565SsosDon't warn about uses of Microsoft extensions
6062089Ssos
6072089Ssosfname-mangling-version-
6082089SsosC++ ObjC++ Joined
60923457Sbrian
61023457Sbrianfnew-abi
61123457SbrianC++ ObjC++
6122089Ssos
6132089Ssosfnext-runtime
6142089SsosObjC ObjC++
6152089SsosGenerate code for NeXT (Apple Mac OS X) runtime environment
6162089Ssos
6172089Ssosfnil-receivers
6182089SsosObjC ObjC++
6192089SsosAssume that receivers of Objective-C messages may be nil
6202089Ssos
62123457Sbrianfnonansi-builtins
62223457SbrianC++ ObjC++
6232089Ssos
6242089Ssosfnonnull-objects
6252089SsosC++ ObjC++
6262089Ssos
62730764Scharnier; Generate special '- .cxx_construct' and '- .cxx_destruct' methods
6282089Ssos; to initialize any non-POD ivars in Objective-C++ classes.
62923457Sbrianfobjc-call-cxx-cdtors
6302089SsosObjC++ Var(flag_objc_call_cxx_cdtors)
6312089SsosGenerate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed
632
633fobjc-direct-dispatch
634ObjC ObjC++ Var(flag_objc_direct_dispatch)
635Allow fast jumps to the message dispatcher
636
637; Nonzero means that we will allow new ObjC exception syntax (@throw,
638; @try, etc.) in source code.
639fobjc-exceptions
640ObjC ObjC++ Var(flag_objc_exceptions)
641Enable Objective-C exception and synchronization syntax
642
643fobjc-gc
644ObjC ObjC++ Var(flag_objc_gc)
645Enable garbage collection (GC) in Objective-C/Objective-C++ programs
646
647; Nonzero means that we generate NeXT setjmp based exceptions.
648fobjc-sjlj-exceptions
649ObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1)
650Enable Objective-C setjmp exception handling runtime
651
652fopenmp
653C ObjC C++ ObjC++ Var(flag_openmp)
654Enable OpenMP
655
656foperator-names
657C++ ObjC++
658Recognize C++ kewords like \"compl\" and \"xor\"
659
660foptional-diags
661C++ ObjC++
662Enable optional diagnostics
663
664fpch-deps
665C ObjC C++ ObjC++
666
667fpch-preprocess
668C ObjC C++ ObjC++
669Look for and use PCH files even when preprocessing
670
671fpermissive
672C++ ObjC++
673Downgrade conformance errors to warnings
674
675fpreprocessed
676C ObjC C++ ObjC++
677Treat the input file as already preprocessed
678
679freplace-objc-classes
680ObjC ObjC++
681Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime
682
683frepo
684C++ ObjC++
685Enable automatic template instantiation
686
687frtti
688C++ ObjC++
689Generate run time type descriptor information
690
691fshort-double
692C ObjC C++ ObjC++
693Use the same size for double as for float
694
695fshort-enums
696C ObjC C++ ObjC++
697Use the narrowest integer type possible for enumeration types
698
699fshort-wchar
700C ObjC C++ ObjC++
701Force the underlying type for \"wchar_t\" to be \"unsigned short\"
702
703fsigned-bitfields
704C ObjC C++ ObjC++
705When \"signed\" or \"unsigned\" is not given make the bitfield signed
706
707fsigned-char
708C ObjC C++ ObjC++
709Make \"char\" signed by default
710
711fsquangle
712C++ ObjC++
713
714fstats
715C++ ObjC++
716Display statistics accumulated during compilation
717
718fstrict-prototype
719C++ ObjC++
720
721ftabstop=
722C ObjC C++ ObjC++ Joined RejectNegative UInteger
723-ftabstop=<number>	Distance between tab stops for column reporting
724
725ftemplate-depth-
726C++ ObjC++ Joined RejectNegative UInteger
727-ftemplate-depth-<number>	Specify maximum template instantiation depth
728
729fthis-is-variable
730C++ ObjC++
731
732fthreadsafe-statics
733C++ ObjC++
734-fno-threadsafe-statics	Do not generate thread-safe code for initializing local statics
735
736funsigned-bitfields
737C ObjC C++ ObjC++
738When \"signed\" or \"unsigned\" is not given make the bitfield unsigned
739
740funsigned-char
741C ObjC C++ ObjC++
742Make \"char\" unsigned by default
743
744fuse-cxa-atexit
745C++ ObjC++
746Use __cxa_atexit to register destructors
747
748fuse-cxa-get-exception-ptr
749C++ ObjC++
750Use __cxa_get_exception_ptr in exception handling
751
752fvisibility-inlines-hidden
753C++ ObjC++
754Marks all inlined methods as having hidden visibility
755
756fvisibility-ms-compat
757C++ ObjC++ Var(flag_visibility_ms_compat)
758Changes visibility to match Microsoft Visual Studio by default
759
760fvtable-gc
761C++ ObjC++
762Discard unused virtual functions
763
764fvtable-thunks
765C++ ObjC++
766Implement vtables using thunks
767
768fweak
769C++ ObjC++
770Emit common-like symbols as weak symbols
771
772fwide-exec-charset=
773C ObjC C++ ObjC++ Joined RejectNegative
774-fwide-exec-charset=<cset>	Convert all wide strings and character constants to character set <cset>
775
776fworking-directory
777C ObjC C++ ObjC++
778Generate a #line directive pointing at the current working directory
779
780fxref
781C++ ObjC++
782Emit cross referencing information
783
784fzero-link
785ObjC ObjC++
786Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode
787
788gen-decls
789ObjC ObjC++
790Dump declarations to a .decl file
791
792femit-struct-debug-baseonly
793C ObjC C++ ObjC++
794-femit-struct-debug-baseonly	Aggressive reduced debug info for structs
795
796femit-struct-debug-reduced
797C ObjC C++ ObjC++
798-femit-struct-debug-reduced	Conservative reduced debug info for structs
799
800femit-struct-debug-detailed=
801C ObjC C++ ObjC++ Joined
802-femit-struct-debug-detailed=<spec-list>	Detailed reduced debug info for structs
803
804idirafter
805C ObjC C++ ObjC++ Joined Separate
806-idirafter <dir>	Add <dir> to the end of the system include path
807
808imacros
809C ObjC C++ ObjC++ Joined Separate
810-imacros <file>	Accept definition of macros in <file>
811
812imultilib
813C ObjC C++ ObjC++ Joined Separate
814-imultilib <dir> Set <dir> to be the multilib include subdirectory
815
816include
817C ObjC C++ ObjC++ Joined Separate
818-include <file>	Include the contents of <file> before other files
819
820iprefix
821C ObjC C++ ObjC++ Joined Separate
822-iprefix <path>	Specify <path> as a prefix for next two options
823
824isysroot
825C ObjC C++ ObjC++ Joined Separate
826-isysroot <dir>	Set <dir> to be the system root directory
827
828isystem
829C ObjC C++ ObjC++ Joined Separate
830-isystem <dir>	Add <dir> to the start of the system include path
831
832iquote
833C ObjC C++ ObjC++ Joined Separate
834-iquote <dir>	Add <dir> to the end of the quote include path
835
836iwithprefix
837C ObjC C++ ObjC++ Joined Separate
838-iwithprefix <dir>	Add <dir> to the end of the system include path
839
840iwithprefixbefore
841C ObjC C++ ObjC++ Joined Separate
842-iwithprefixbefore <dir>	Add <dir> to the end of the main include path
843
844lang-asm
845C Undocumented
846
847lang-fortran
848C Undocumented
849
850lang-objc
851C ObjC C++ ObjC++ Undocumented
852
853nostdinc
854C ObjC C++ ObjC++
855Do not search standard system include directories (those specified with -isystem will still be used)
856
857nostdinc++
858C++ ObjC++
859Do not search standard system include directories for C++
860
861o
862C ObjC C++ ObjC++ Joined Separate
863; Documented in common.opt
864
865pedantic
866C ObjC C++ ObjC++
867; Documented in common.opt
868
869pedantic-errors
870C ObjC C++ ObjC++
871; Documented in common.opt
872
873print-objc-runtime-info
874ObjC ObjC++
875Generate C header of platform-specific features
876
877print-pch-checksum
878C ObjC C++ ObjC++
879Print a checksum of the executable for PCH validity checking, and stop
880
881remap
882C ObjC C++ ObjC++
883Remap file names when including files
884
885std=c++98
886C++ ObjC++
887Conform to the ISO 1998 C++ standard
888
889std=c89
890C ObjC
891Conform to the ISO 1990 C standard
892
893std=c99
894C ObjC
895Conform to the ISO 1999 C standard
896
897std=c9x
898C ObjC
899Deprecated in favor of -std=c99
900
901std=gnu++98
902C++ ObjC++
903Conform to the ISO 1998 C++ standard with GNU extensions
904
905std=gnu89
906C ObjC
907Conform to the ISO 1990 C standard with GNU extensions
908
909std=gnu99
910C ObjC
911Conform to the ISO 1999 C standard with GNU extensions
912
913std=gnu9x
914C ObjC
915Deprecated in favor of -std=gnu99
916
917std=iso9899:1990
918C ObjC
919Conform to the ISO 1990 C standard
920
921std=iso9899:199409
922C ObjC
923Conform to the ISO 1990 C standard as amended in 1994
924
925std=iso9899:1999
926C ObjC
927Conform to the ISO 1999 C standard
928
929std=iso9899:199x
930C ObjC
931Deprecated in favor of -std=iso9899:1999
932
933traditional-cpp
934C ObjC C++ ObjC++
935Enable traditional preprocessing
936
937trigraphs
938C ObjC C++ ObjC++
939-trigraphs	Support ISO C trigraphs
940
941undef
942C ObjC C++ ObjC++
943Do not predefine system-specific and GCC-specific macros
944
945v
946C ObjC C++ ObjC++
947Enable verbose output
948
949w
950C ObjC C++ ObjC++
951; Documented in common.opt
952
953; This comment is to ensure we retain the blank line above.
954