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