c.opt revision 260074
1132718Skan; Options for the C, ObjC, C++ and ObjC++ front ends. 2169699Skan; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 3132718Skan; 4132718Skan; This file is part of GCC. 5132718Skan; 6132718Skan; GCC is free software; you can redistribute it and/or modify it under 7132718Skan; the terms of the GNU General Public License as published by the Free 8132718Skan; Software Foundation; either version 2, or (at your option) any later 9132718Skan; version. 10169699Skan; 11132718Skan; GCC is distributed in the hope that it will be useful, but WITHOUT ANY 12132718Skan; WARRANTY; without even the implied warranty of MERCHANTABILITY or 13132718Skan; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14132718Skan; for more details. 15169699Skan; 16132718Skan; You should have received a copy of the GNU General Public License 17132718Skan; along with GCC; see the file COPYING. If not, write to the Free 18169699Skan; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 19169699Skan; 02110-1301, USA. 20132718Skan 21169699Skan; See the GCC internals manual for a description of this file's format. 22132718Skan 23169699Skan; $FreeBSD: stable/10/contrib/gcc/c.opt 260074 2013-12-30 03:39:46Z pfg $ 24132718Skan; Please try to keep this file in ASCII collating order. 25132718Skan 26132718SkanLanguage 27132718SkanC 28132718Skan 29132718SkanLanguage 30132718SkanObjC 31132718Skan 32132718SkanLanguage 33132718SkanC++ 34132718Skan 35132718SkanLanguage 36132718SkanObjC++ 37132718Skan 38132718Skan-output-pch= 39132718SkanC ObjC C++ ObjC++ Joined Separate 40132718Skan 41132718SkanA 42132718SkanC ObjC C++ ObjC++ Joined Separate 43132718Skan-A<question>=<answer> Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question> 44132718Skan 45132718SkanC 46132718SkanC ObjC C++ ObjC++ 47132718SkanDo not discard comments 48132718Skan 49132718SkanCC 50132718SkanC ObjC C++ ObjC++ 51132718SkanDo not discard comments in macro expansions 52132718Skan 53132718SkanD 54132718SkanC ObjC C++ ObjC++ Joined Separate 55132718Skan-D<macro>[=<val>] Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1 56132718Skan 57132718SkanE 58132718SkanC ObjC C++ ObjC++ Undocumented 59132718Skan 60169699SkanF 61169699SkanC ObjC C++ ObjC++ Joined Separate 62169699Skan-F <dir> Add <dir> to the end of the main framework include path 63169699Skan 64132718SkanH 65132718SkanC ObjC C++ ObjC++ 66132718SkanPrint the name of header files as they are used 67132718Skan 68132718SkanI 69132718SkanC ObjC C++ ObjC++ Joined Separate 70169699Skan-I <dir> Add <dir> to the end of the main include path 71132718Skan 72132718SkanM 73132718SkanC ObjC C++ ObjC++ 74132718SkanGenerate make dependencies 75132718Skan 76132718SkanMD 77132718SkanC ObjC C++ ObjC++ Separate 78132718SkanGenerate make dependencies and compile 79132718Skan 80132718SkanMF 81132718SkanC ObjC C++ ObjC++ Joined Separate 82132718Skan-MF <file> Write dependency output to the given file 83132718Skan 84132718SkanMG 85132718SkanC ObjC C++ ObjC++ 86132718SkanTreat missing header files as generated files 87132718Skan 88132718SkanMM 89132718SkanC ObjC C++ ObjC++ 90132718SkanLike -M but ignore system header files 91132718Skan 92132718SkanMMD 93132718SkanC ObjC C++ ObjC++ Separate 94132718SkanLike -MD but ignore system header files 95132718Skan 96132718SkanMP 97132718SkanC ObjC C++ ObjC++ 98132718SkanGenerate phony targets for all headers 99132718Skan 100132718SkanMQ 101132718SkanC ObjC C++ ObjC++ Joined Separate 102132718Skan-MQ <target> Add a MAKE-quoted target 103132718Skan 104132718SkanMT 105132718SkanC ObjC C++ ObjC++ Joined Separate 106132718Skan-MT <target> Add an unquoted target 107132718Skan 108132718SkanP 109132718SkanC ObjC C++ ObjC++ 110132718SkanDo not generate #line directives 111132718Skan 112132718SkanU 113132718SkanC ObjC C++ ObjC++ Joined Separate 114132718Skan-U<macro> Undefine <macro> 115132718Skan 116132718SkanWabi 117169699SkanC++ ObjC++ Var(warn_abi) 118169699SkanWarn about things that will change when compiling with an ABI-compliant compiler 119132718Skan 120169699SkanWaddress 121169699SkanC ObjC C++ ObjC++ Var(warn_address) 122169699SkanWarn about suspicious uses of memory addresses 123169699Skan 124132718SkanWall 125132718SkanC ObjC C++ ObjC++ 126132718SkanEnable most warning messages 127132718Skan 128169699SkanWassign-intercept 129169699SkanObjC ObjC++ Var(warn_assign_intercept) 130169699SkanWarn whenever an Objective-C assignment is being intercepted by the garbage collector 131169699Skan 132132718SkanWbad-function-cast 133169699SkanC ObjC Var(warn_bad_function_cast) 134132718SkanWarn about casting functions to incompatible types 135132718Skan 136169699SkanWc++-compat 137169699SkanC ObjC Var(warn_cxx_compat) 138169699SkanWarn about C constructs that are not in the common subset of C and C++ 139169699Skan 140169699Skan 141132718SkanWcast-qual 142169699SkanC ObjC C++ ObjC++ Var(warn_cast_qual) 143132718SkanWarn about casts which discard qualifiers 144132718Skan 145132718SkanWchar-subscripts 146169699SkanC ObjC C++ ObjC++ Var(warn_char_subscripts) 147132718SkanWarn about subscripts whose type is \"char\" 148132718Skan 149132718SkanWcomment 150132718SkanC ObjC C++ ObjC++ 151132718SkanWarn about possibly nested block comments, and C++ comments spanning more than one physical line 152132718Skan 153132718SkanWcomments 154132718SkanC ObjC C++ ObjC++ 155132718SkanSynonym for -Wcomment 156132718Skan 157132718SkanWconversion 158169699SkanC ObjC C++ ObjC++ Var(warn_conversion) 159132718SkanWarn about possibly confusing type conversions 160132718Skan 161132718SkanWctor-dtor-privacy 162169699SkanC++ ObjC++ Var(warn_ctor_dtor_privacy) 163132718SkanWarn when all constructors and destructors are private 164132718Skan 165132718SkanWdeclaration-after-statement 166169699SkanC ObjC Var(warn_declaration_after_statement) 167132718SkanWarn when a declaration is found after a statement 168132718Skan 169132718SkanWdeprecated 170169699SkanC++ ObjC++ Var(warn_deprecated) Init(1) 171132718SkanWarn about deprecated compiler features 172132718Skan 173132718SkanWdiv-by-zero 174169699SkanC ObjC C++ ObjC++ Var(warn_div_by_zero) Init(1) 175132718SkanWarn about compile-time integer division by zero 176132718Skan 177132718SkanWeffc++ 178169699SkanC++ ObjC++ Var(warn_ecpp) 179132718SkanWarn about violations of Effective C++ style rules 180132718Skan 181132718SkanWendif-labels 182132718SkanC ObjC C++ ObjC++ 183132718SkanWarn about stray tokens after #elif and #endif 184132718Skan 185132718SkanWerror 186132718SkanC ObjC C++ ObjC++ 187132718Skan; Documented in common.opt 188132718Skan 189132718SkanWerror-implicit-function-declaration 190132718SkanC ObjC RejectNegative 191132718SkanMake implicit function declarations an error 192132718Skan 193132718SkanWfloat-equal 194169699SkanC ObjC C++ ObjC++ Var(warn_float_equal) 195132718SkanWarn if testing floating point numbers for equality 196132718Skan 197132718SkanWformat 198132718SkanC ObjC C++ ObjC++ 199132718SkanWarn about printf/scanf/strftime/strfmon format string anomalies 200132718Skan 201132718SkanWformat-extra-args 202169699SkanC ObjC C++ ObjC++ Var(warn_format_extra_args) 203132718SkanWarn if passing too many arguments to a function for its format string 204132718Skan 205132718SkanWformat-nonliteral 206169699SkanC ObjC C++ ObjC++ Var(warn_format_nonliteral) 207132718SkanWarn about format strings that are not literals 208132718Skan 209132718SkanWformat-security 210169699SkanC ObjC C++ ObjC++ Var(warn_format_security) 211132718SkanWarn about possible security problems with format functions 212132718Skan 213132718SkanWformat-y2k 214169699SkanC ObjC C++ ObjC++ Var(warn_format_y2k) 215132718SkanWarn about strftime formats yielding 2-digit years 216132718Skan 217132718SkanWformat-zero-length 218169699SkanC ObjC Var(warn_format_zero_length) 219169699SkanWarn about zero-length formats 220132718Skan 221132718SkanWformat= 222132718SkanC ObjC C++ ObjC++ Joined 223132718Skan 224132718SkanWinit-self 225169699SkanC ObjC C++ ObjC++ Var(warn_init_self) 226169699SkanWarn about variables which are initialized to themselves 227132718Skan 228132718SkanWimplicit 229132718SkanC ObjC C++ ObjC++ 230132718Skan 231132718SkanWimplicit-function-declaration 232169699SkanC ObjC Var(mesg_implicit_function_declaration) Init(-1) 233132718SkanWarn about implicit function declarations 234132718Skan 235132718SkanWimplicit-int 236169699SkanC ObjC Var(warn_implicit_int) 237132718SkanWarn when a declaration does not specify a type 238132718Skan 239132718SkanWimport 240132718SkanC ObjC C++ ObjC++ 241169699SkanDeprecated. This switch has no effect 242132718Skan 243169699SkanWint-to-pointer-cast 244169699SkanC ObjC Var(warn_int_to_pointer_cast) Init(1) 245169699SkanWarn when there is a cast to a pointer from an integer of a different size 246169699Skan 247132718SkanWinvalid-offsetof 248169699SkanC++ ObjC++ Var(warn_invalid_offsetof) Init(1) 249132718SkanWarn about invalid uses of the \"offsetof\" macro 250132718Skan 251132718SkanWinvalid-pch 252132718SkanC ObjC C++ ObjC++ 253132718SkanWarn about PCH files that are found but not used 254132718Skan 255132718SkanWlong-long 256169699SkanC ObjC C++ ObjC++ Var(warn_long_long) Init(1) 257132718SkanDo not warn about using \"long long\" when -pedantic 258132718Skan 259132718SkanWmain 260132718SkanC ObjC 261132718SkanWarn about suspicious declarations of \"main\" 262132718Skan 263132718SkanWmissing-braces 264169699SkanC ObjC C++ ObjC++ Var(warn_missing_braces) 265132718SkanWarn about possibly missing braces around initializers 266132718Skan 267132718SkanWmissing-declarations 268169699SkanC ObjC Var(warn_missing_declarations) 269132718SkanWarn about global functions without previous declarations 270132718Skan 271169699SkanWmissing-field-initializers 272169699SkanC ObjC C++ ObjC++ Var(warn_missing_field_initializers) Init(-1) 273169699SkanWarn about missing fields in struct initializers 274169699Skan 275132718SkanWmissing-format-attribute 276169699SkanC ObjC C++ ObjC++ Var(warn_missing_format_attribute) 277132718SkanWarn about functions which might be candidates for format attributes 278132718Skan 279169699SkanWmissing-include-dirs 280169699SkanC ObjC C++ ObjC++ 281169699SkanWarn about user-specified include directories that do not exist 282169699Skan 283132718SkanWmissing-prototypes 284169699SkanC ObjC Var(warn_missing_prototypes) 285132718SkanWarn about global functions without prototypes 286132718Skan 287132718SkanWmultichar 288132718SkanC ObjC C++ ObjC++ 289132718SkanWarn about use of multi-character character constants 290132718Skan 291132718SkanWnested-externs 292169699SkanC ObjC Var(warn_nested_externs) 293132718SkanWarn about \"extern\" declarations not at file scope 294132718Skan 295259890Spfg; APPLE LOCAL begin -Wnewline-eof 296259890SpfgWnewline-eof 297259890SpfgC ObjC C++ ObjC++ 298259890SpfgWarn about files missing a newline at the end of the file 299259890Spfg; APPLE LOCAL end -Wnewline-eof 300259890Spfg 301132718SkanWnon-template-friend 302169699SkanC++ ObjC++ Var(warn_nontemplate_friend) Init(1) 303132718SkanWarn when non-templatized friend functions are declared within a template 304132718Skan 305132718SkanWnon-virtual-dtor 306169699SkanC++ ObjC++ Var(warn_nonvdtor) 307132718SkanWarn about non-virtual destructors 308132718Skan 309132718SkanWnonnull 310169699SkanC ObjC Var(warn_nonnull) 311169699SkanWarn about NULL being passed to argument slots marked as requiring non-NULL 312132718Skan 313169699SkanWnormalized= 314169699SkanC ObjC C++ ObjC++ Joined 315169699Skan-Wnormalized=<id|nfc|nfkc> Warn about non-normalised Unicode strings 316169699Skan 317132718SkanWold-style-cast 318169699SkanC++ ObjC++ Var(warn_old_style_cast) 319132718SkanWarn if a C-style cast is used in a program 320132718Skan 321132718SkanWold-style-definition 322169699SkanC ObjC Var(warn_old_style_definition) 323132718SkanWarn if an old-style parameter definition is used 324132718Skan 325169699SkanWoverlength-strings 326169699SkanC ObjC C++ ObjC++ Var(warn_overlength_strings) Init(-1) 327169699SkanWarn if a string is longer than the maximum portable length specified by the standard 328169699Skan 329132718SkanWoverloaded-virtual 330169699SkanC++ ObjC++ Var(warn_overloaded_virtual) 331132718SkanWarn about overloaded virtual function names 332132718Skan 333169699SkanWoverride-init 334169699SkanC ObjC Var(warn_override_init) Init(-1) 335169699SkanWarn about overriding initializers without side effects 336169699Skan 337132718SkanWparentheses 338169699SkanC ObjC C++ ObjC++ Var(warn_parentheses) 339132718SkanWarn about possibly missing parentheses 340132718Skan 341132718SkanWpmf-conversions 342169699SkanC++ ObjC++ Var(warn_pmf2ptr) Init(1) 343132718SkanWarn when converting the type of pointers to member functions 344132718Skan 345132718SkanWpointer-arith 346169699SkanC ObjC C++ ObjC++ Var(warn_pointer_arith) 347132718SkanWarn about function pointer arithmetic 348132718Skan 349169699SkanWpointer-to-int-cast 350169699SkanC ObjC Var(warn_pointer_to_int_cast) Init(1) 351169699SkanWarn when a pointer is cast to an integer of a different size 352169699Skan 353169699SkanWpragmas 354169699SkanC ObjC C++ ObjC++ Var(warn_pragmas) Init(1) 355169699SkanWarn about misuses of pragmas 356169699Skan 357132718SkanWprotocol 358169699SkanObjC ObjC++ Var(warn_protocol) Init(1) 359132718SkanWarn if inherited methods are unimplemented 360132718Skan 361132718SkanWredundant-decls 362169699SkanC ObjC C++ ObjC++ Var(warn_redundant_decls) 363132718SkanWarn about multiple declarations of the same object 364132718Skan 365132718SkanWreorder 366169699SkanC++ ObjC++ Var(warn_reorder) 367132718SkanWarn when the compiler reorders code 368132718Skan 369132718SkanWreturn-type 370169699SkanC ObjC C++ ObjC++ Var(warn_return_type) 371132718SkanWarn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++) 372132718Skan 373132718SkanWselector 374169699SkanObjC ObjC++ Var(warn_selector) 375132718SkanWarn if a selector has multiple methods 376132718Skan 377132718SkanWsequence-point 378169699SkanC ObjC C++ ObjC++ Var(warn_sequence_point) 379132718SkanWarn about possible violations of sequence point rules 380132718Skan 381132718SkanWsign-compare 382169699SkanC ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1) 383132718SkanWarn about signed-unsigned comparisons 384132718Skan 385132718SkanWsign-promo 386169699SkanC++ ObjC++ Var(warn_sign_promo) 387132718SkanWarn when overload promotes from unsigned to signed 388132718Skan 389169699SkanWstrict-null-sentinel 390169699SkanC++ ObjC++ 391169699SkanWarn about uncasted NULL used as sentinel 392169699Skan 393132718SkanWstrict-prototypes 394169699SkanC ObjC Var(warn_strict_prototypes) 395132718SkanWarn about unprototyped function declarations 396132718Skan 397169699SkanWstrict-selector-match 398169699SkanObjC ObjC++ Var(warn_strict_selector_match) 399169699SkanWarn if type signatures of candidate methods do not match exactly 400169699Skan 401132718SkanWsynth 402169699SkanC++ ObjC++ Var(warn_synth) 403132718SkanWarn when synthesis behavior differs from Cfront 404132718Skan 405132718SkanWsystem-headers 406132718SkanC ObjC C++ ObjC++ 407132718SkanDo not suppress warnings from system headers 408132718Skan 409132718SkanWtraditional 410169699SkanC ObjC Var(warn_traditional) 411132718SkanWarn about features not present in traditional C 412132718Skan 413223715SuqsWtrampolines 414223715SuqsCommon Var(warn_trampolines) 415223715SuqsWarn when trampolines are emitted 416223715Suqs 417132718SkanWtrigraphs 418132718SkanC ObjC C++ ObjC++ 419132718SkanWarn if trigraphs are encountered that might affect the meaning of the program 420132718Skan 421132718SkanWundeclared-selector 422169699SkanObjC ObjC++ Var(warn_undeclared_selector) 423169699SkanWarn about @selector()s without previously declared methods 424132718Skan 425132718SkanWundef 426132718SkanC ObjC C++ ObjC++ 427132718SkanWarn if an undefined macro is used in an #if directive 428132718Skan 429132718SkanWunknown-pragmas 430132718SkanC ObjC C++ ObjC++ 431132718SkanWarn about unrecognized pragmas 432132718Skan 433132718SkanWunused-macros 434132718SkanC ObjC C++ ObjC++ 435132718SkanWarn about macros defined in the main file that are not used 436132718Skan 437169699SkanWvariadic-macros 438132718SkanC ObjC C++ ObjC++ 439169699SkanDo not warn about using variadic macros when -pedantic 440132718Skan 441259268SpfgWvla 442259268SpfgC ObjC C++ ObjC++ Var(warn_vla) Init(-1) Warning 443259268SpfgWarn if a variable length array is used 444259268Spfg 445169699SkanWwrite-strings 446169699SkanC ObjC C++ ObjC++ Var(warn_write_strings) 447169699SkanIn 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. 448169699Skan 449169699SkanWpointer-sign 450169699SkanC ObjC Var(warn_pointer_sign) Init(-1) 451169699SkanWarn when a pointer differs in signedness in an assignment 452169699Skan 453132718Skanansi 454132718SkanC ObjC C++ ObjC++ 455169699SkanA synonym for -std=c89 (for C) or -std=c++98 (for C++) 456132718Skan 457132718Skand 458132718SkanC ObjC C++ ObjC++ Joined 459132718Skan; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD? 460132718Skan 461132718Skanfaccess-control 462132718SkanC++ ObjC++ 463132718SkanEnforce class member access control semantics 464132718Skan 465132718Skanfall-virtual 466132718SkanC++ ObjC++ 467132718Skan 468132718Skanfalt-external-templates 469132718SkanC++ ObjC++ 470132718SkanChange when template instances are emitted 471132718Skan 472132718Skanfasm 473132718SkanC ObjC C++ ObjC++ 474132718SkanRecognize the \"asm\" keyword 475132718Skan 476132718Skanfbuiltin 477132718SkanC ObjC C++ ObjC++ 478132718SkanRecognize built-in functions 479132718Skan 480132718Skanfbuiltin- 481132718SkanC ObjC C++ ObjC++ Joined 482132718Skan 483132718Skanfcheck-new 484132718SkanC++ ObjC++ 485132718SkanCheck the return value of new 486132718Skan 487132718Skanfcond-mismatch 488132718SkanC ObjC C++ ObjC++ 489132718SkanAllow the arguments of the '?' operator to have different types 490132718Skan 491132718Skanfconserve-space 492132718SkanC++ ObjC++ 493132718SkanReduce the size of object files 494132718Skan 495132718Skanfconstant-string-class= 496132718SkanObjC ObjC++ Joined 497132718Skan-fconst-string-class=<name> Use class <name> for constant strings 498132718Skan 499132718Skanfdefault-inline 500132718SkanC++ ObjC++ 501132718SkanInline member functions by default 502132718Skan 503259405Spfgfdirectives-only 504259405SpfgC ObjC C++ ObjC++ 505259405SpfgPreprocess directives only. 506259405Spfg 507132718Skanfdollars-in-identifiers 508132718SkanC ObjC C++ ObjC++ 509132718SkanPermit '$' as an identifier character 510132718Skan 511132718Skanfelide-constructors 512132718SkanC++ ObjC++ 513132718Skan 514132718Skanfenforce-eh-specs 515132718SkanC++ ObjC++ 516132718SkanGenerate code to check exception specifications 517132718Skan 518132718Skanfenum-int-equiv 519132718SkanC++ ObjC++ 520132718Skan 521132718Skanfexec-charset= 522132718SkanC ObjC C++ ObjC++ Joined RejectNegative 523132718Skan-fexec-charset=<cset> Convert all strings and character constants to character set <cset> 524132718Skan 525169699Skanfextended-identifiers 526169699SkanC ObjC C++ ObjC++ 527169699SkanPermit universal character names (\\u and \\U) in identifiers 528169699Skan 529132718Skanfinput-charset= 530132718SkanC ObjC C++ ObjC++ Joined RejectNegative 531169699Skan-finput-charset=<cset> Specify the default character set for source files 532132718Skan 533132718Skan 534132718Skanfexternal-templates 535132718SkanC++ ObjC++ 536132718Skan 537132718Skanffor-scope 538132718SkanC++ ObjC++ 539132718SkanScope of for-init-statement variables is local to the loop 540132718Skan 541132718Skanffreestanding 542132718SkanC ObjC 543132718SkanDo not assume that standard C libraries and \"main\" exist 544132718Skan 545132718Skanfgnu-keywords 546132718SkanC++ ObjC++ 547132718SkanRecognize GNU-defined keywords 548132718Skan 549132718Skanfgnu-runtime 550132718SkanObjC ObjC++ 551132718SkanGenerate code for GNU runtime environment 552132718Skan 553169699Skanfgnu89-inline 554169699SkanC ObjC Var(flag_gnu89_inline) Init(-1) 555169699SkanUse traditional GNU semantics for inline functions 556169699Skan 557132718Skanfguiding-decls 558132718SkanC++ ObjC++ 559132718Skan 560132718Skanfhandle-exceptions 561132718SkanC++ ObjC++ 562132718Skan 563132718Skanfhonor-std 564132718SkanC++ ObjC++ 565132718Skan 566132718Skanfhosted 567132718SkanC ObjC 568132718SkanAssume normal C execution environment 569132718Skan 570132718Skanfhuge-objects 571132718SkanC++ ObjC++ 572132718SkanEnable support for huge objects 573132718Skan 574132718Skanfimplement-inlines 575132718SkanC++ ObjC++ 576132718SkanExport functions even if they can be inlined 577132718Skan 578132718Skanfimplicit-inline-templates 579132718SkanC++ ObjC++ 580132718SkanEmit implicit instantiations of inline templates 581132718Skan 582132718Skanfimplicit-templates 583132718SkanC++ ObjC++ 584132718SkanEmit implicit instantiations of templates 585132718Skan 586169699Skanffriend-injection 587169699SkanC++ ObjC++ Var(flag_friend_injection) 588169699SkanInject friend functions into enclosing namespace 589169699Skan 590132718Skanflabels-ok 591132718SkanC++ ObjC++ 592132718Skan 593260074Spfgflax-vector-conversions 594260074SpfgC ObjC C++ ObjC++ 595260074SpfgAllow implicit conversions between vectors with differing numbers of subparts and/or differing element types. 596260074Spfg 597132718Skanfms-extensions 598132718SkanC ObjC C++ ObjC++ 599132718SkanDon't warn about uses of Microsoft extensions 600132718Skan 601132718Skanfname-mangling-version- 602132718SkanC++ ObjC++ Joined 603132718Skan 604132718Skanfnew-abi 605132718SkanC++ ObjC++ 606132718Skan 607132718Skanfnext-runtime 608132718SkanObjC ObjC++ 609132718SkanGenerate code for NeXT (Apple Mac OS X) runtime environment 610132718Skan 611132718Skanfnil-receivers 612132718SkanObjC ObjC++ 613132718SkanAssume that receivers of Objective-C messages may be nil 614132718Skan 615132718Skanfnonansi-builtins 616132718SkanC++ ObjC++ 617132718Skan 618132718Skanfnonnull-objects 619132718SkanC++ ObjC++ 620132718Skan 621169699Skan; Generate special '- .cxx_construct' and '- .cxx_destruct' methods 622169699Skan; to initialize any non-POD ivars in Objective-C++ classes. 623169699Skanfobjc-call-cxx-cdtors 624169699SkanObjC++ Var(flag_objc_call_cxx_cdtors) 625169699SkanGenerate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed 626169699Skan 627169699Skanfobjc-direct-dispatch 628169699SkanObjC ObjC++ Var(flag_objc_direct_dispatch) 629169699SkanAllow fast jumps to the message dispatcher 630169699Skan 631169699Skan; Nonzero means that we will allow new ObjC exception syntax (@throw, 632169699Skan; @try, etc.) in source code. 633132718Skanfobjc-exceptions 634169699SkanObjC ObjC++ Var(flag_objc_exceptions) 635132718SkanEnable Objective-C exception and synchronization syntax 636132718Skan 637169699Skanfobjc-gc 638169699SkanObjC ObjC++ Var(flag_objc_gc) 639169699SkanEnable garbage collection (GC) in Objective-C/Objective-C++ programs 640169699Skan 641169699Skan; Nonzero means that we generate NeXT setjmp based exceptions. 642169699Skanfobjc-sjlj-exceptions 643169699SkanObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1) 644169699SkanEnable Objective-C setjmp exception handling runtime 645169699Skan 646169699Skanfopenmp 647169699SkanC ObjC C++ ObjC++ Var(flag_openmp) 648169699SkanEnable OpenMP 649169699Skan 650132718Skanfoperator-names 651132718SkanC++ ObjC++ 652132718SkanRecognize C++ kewords like \"compl\" and \"xor\" 653132718Skan 654132718Skanfoptional-diags 655132718SkanC++ ObjC++ 656132718SkanEnable optional diagnostics 657132718Skan 658132718Skanfpch-deps 659132718SkanC ObjC C++ ObjC++ 660132718Skan 661169699Skanfpch-preprocess 662169699SkanC ObjC C++ ObjC++ 663169699SkanLook for and use PCH files even when preprocessing 664169699Skan 665132718Skanfpermissive 666132718SkanC++ ObjC++ 667132718SkanDowngrade conformance errors to warnings 668132718Skan 669132718Skanfpreprocessed 670132718SkanC ObjC C++ ObjC++ 671132718SkanTreat the input file as already preprocessed 672132718Skan 673132718Skanfreplace-objc-classes 674132718SkanObjC ObjC++ 675132718SkanUsed in Fix-and-Continue mode to indicate that object files may be swapped in at runtime 676132718Skan 677132718Skanfrepo 678132718SkanC++ ObjC++ 679132718SkanEnable automatic template instantiation 680132718Skan 681132718Skanfrtti 682132718SkanC++ ObjC++ 683132718SkanGenerate run time type descriptor information 684132718Skan 685132718Skanfshort-double 686132718SkanC ObjC C++ ObjC++ 687132718SkanUse the same size for double as for float 688132718Skan 689132718Skanfshort-enums 690132718SkanC ObjC C++ ObjC++ 691132718SkanUse the narrowest integer type possible for enumeration types 692132718Skan 693132718Skanfshort-wchar 694132718SkanC ObjC C++ ObjC++ 695132718SkanForce the underlying type for \"wchar_t\" to be \"unsigned short\" 696132718Skan 697132718Skanfsigned-bitfields 698132718SkanC ObjC C++ ObjC++ 699132718SkanWhen \"signed\" or \"unsigned\" is not given make the bitfield signed 700132718Skan 701132718Skanfsigned-char 702132718SkanC ObjC C++ ObjC++ 703132718SkanMake \"char\" signed by default 704132718Skan 705132718Skanfsquangle 706132718SkanC++ ObjC++ 707132718Skan 708132718Skanfstats 709132718SkanC++ ObjC++ 710132718SkanDisplay statistics accumulated during compilation 711132718Skan 712132718Skanfstrict-prototype 713132718SkanC++ ObjC++ 714132718Skan 715132718Skanftabstop= 716132718SkanC ObjC C++ ObjC++ Joined RejectNegative UInteger 717132718Skan-ftabstop=<number> Distance between tab stops for column reporting 718132718Skan 719132718Skanftemplate-depth- 720169699SkanC++ ObjC++ Joined RejectNegative UInteger 721132718Skan-ftemplate-depth-<number> Specify maximum template instantiation depth 722132718Skan 723132718Skanfthis-is-variable 724132718SkanC++ ObjC++ 725132718Skan 726169699Skanfthreadsafe-statics 727169699SkanC++ ObjC++ 728169699Skan-fno-threadsafe-statics Do not generate thread-safe code for initializing local statics 729169699Skan 730132718Skanfunsigned-bitfields 731132718SkanC ObjC C++ ObjC++ 732132718SkanWhen \"signed\" or \"unsigned\" is not given make the bitfield unsigned 733132718Skan 734132718Skanfunsigned-char 735132718SkanC ObjC C++ ObjC++ 736132718SkanMake \"char\" unsigned by default 737132718Skan 738132718Skanfuse-cxa-atexit 739132718SkanC++ ObjC++ 740132718SkanUse __cxa_atexit to register destructors 741132718Skan 742169699Skanfuse-cxa-get-exception-ptr 743169699SkanC++ ObjC++ 744169699SkanUse __cxa_get_exception_ptr in exception handling 745169699Skan 746169699Skanfvisibility-inlines-hidden 747169699SkanC++ ObjC++ 748169699SkanMarks all inlined methods as having hidden visibility 749169699Skan 750260074Spfgfvisibility-ms-compat 751260074SpfgC++ ObjC++ Var(flag_visibility_ms_compat) 752260074SpfgChanges visibility to match Microsoft Visual Studio by default 753260074Spfg 754132718Skanfvtable-gc 755132718SkanC++ ObjC++ 756132718SkanDiscard unused virtual functions 757132718Skan 758132718Skanfvtable-thunks 759132718SkanC++ ObjC++ 760132718SkanImplement vtables using thunks 761132718Skan 762132718Skanfweak 763132718SkanC++ ObjC++ 764132718SkanEmit common-like symbols as weak symbols 765132718Skan 766132718Skanfwide-exec-charset= 767132718SkanC ObjC C++ ObjC++ Joined RejectNegative 768132718Skan-fwide-exec-charset=<cset> Convert all wide strings and character constants to character set <cset> 769132718Skan 770132718Skanfworking-directory 771132718SkanC ObjC C++ ObjC++ 772132718SkanGenerate a #line directive pointing at the current working directory 773132718Skan 774132718Skanfxref 775132718SkanC++ ObjC++ 776132718SkanEmit cross referencing information 777132718Skan 778132718Skanfzero-link 779132718SkanObjC ObjC++ 780132718SkanGenerate lazy class lookup (via objc_getClass()) for use in Zero-Link mode 781132718Skan 782132718Skangen-decls 783132718SkanObjC ObjC++ 784132718SkanDump declarations to a .decl file 785132718Skan 786259268Spfgfemit-struct-debug-baseonly 787259268SpfgC ObjC C++ ObjC++ 788259268Spfg-femit-struct-debug-baseonly Aggressive reduced debug info for structs 789259268Spfg 790259268Spfgfemit-struct-debug-reduced 791259268SpfgC ObjC C++ ObjC++ 792259268Spfg-femit-struct-debug-reduced Conservative reduced debug info for structs 793259268Spfg 794259268Spfgfemit-struct-debug-detailed= 795259268SpfgC ObjC C++ ObjC++ Joined 796259268Spfg-femit-struct-debug-detailed=<spec-list> Detailed reduced debug info for structs 797259268Spfg 798132718Skanidirafter 799132718SkanC ObjC C++ ObjC++ Joined Separate 800132718Skan-idirafter <dir> Add <dir> to the end of the system include path 801132718Skan 802132718Skanimacros 803132718SkanC ObjC C++ ObjC++ Joined Separate 804132718Skan-imacros <file> Accept definition of macros in <file> 805132718Skan 806169699Skanimultilib 807169699SkanC ObjC C++ ObjC++ Joined Separate 808169699Skan-imultilib <dir> Set <dir> to be the multilib include subdirectory 809169699Skan 810132718Skaninclude 811132718SkanC ObjC C++ ObjC++ Joined Separate 812132718Skan-include <file> Include the contents of <file> before other files 813132718Skan 814132718Skaniprefix 815132718SkanC ObjC C++ ObjC++ Joined Separate 816132718Skan-iprefix <path> Specify <path> as a prefix for next two options 817132718Skan 818132718Skanisysroot 819132718SkanC ObjC C++ ObjC++ Joined Separate 820132718Skan-isysroot <dir> Set <dir> to be the system root directory 821132718Skan 822132718Skanisystem 823132718SkanC ObjC C++ ObjC++ Joined Separate 824132718Skan-isystem <dir> Add <dir> to the start of the system include path 825132718Skan 826169699Skaniquote 827169699SkanC ObjC C++ ObjC++ Joined Separate 828169699Skan-iquote <dir> Add <dir> to the end of the quote include path 829169699Skan 830132718Skaniwithprefix 831132718SkanC ObjC C++ ObjC++ Joined Separate 832132718Skan-iwithprefix <dir> Add <dir> to the end of the system include path 833132718Skan 834132718Skaniwithprefixbefore 835132718SkanC ObjC C++ ObjC++ Joined Separate 836132718Skan-iwithprefixbefore <dir> Add <dir> to the end of the main include path 837132718Skan 838132718Skanlang-asm 839132718SkanC Undocumented 840132718Skan 841169699Skanlang-fortran 842169699SkanC Undocumented 843169699Skan 844132718Skanlang-objc 845132718SkanC ObjC C++ ObjC++ Undocumented 846132718Skan 847132718Skannostdinc 848132718SkanC ObjC C++ ObjC++ 849132718SkanDo not search standard system include directories (those specified with -isystem will still be used) 850132718Skan 851132718Skannostdinc++ 852132718SkanC++ ObjC++ 853132718SkanDo not search standard system include directories for C++ 854132718Skan 855132718Skano 856132718SkanC ObjC C++ ObjC++ Joined Separate 857132718Skan; Documented in common.opt 858132718Skan 859132718Skanpedantic 860132718SkanC ObjC C++ ObjC++ 861132718Skan; Documented in common.opt 862132718Skan 863132718Skanpedantic-errors 864132718SkanC ObjC C++ ObjC++ 865132718Skan; Documented in common.opt 866132718Skan 867132718Skanprint-objc-runtime-info 868132718SkanObjC ObjC++ 869132718SkanGenerate C header of platform-specific features 870132718Skan 871169699Skanprint-pch-checksum 872169699SkanC ObjC C++ ObjC++ 873169699SkanPrint a checksum of the executable for PCH validity checking, and stop 874169699Skan 875132718Skanremap 876132718SkanC ObjC C++ ObjC++ 877132718SkanRemap file names when including files 878132718Skan 879132718Skanstd=c++98 880132718SkanC++ ObjC++ 881132718SkanConform to the ISO 1998 C++ standard 882132718Skan 883132718Skanstd=c89 884132718SkanC ObjC 885132718SkanConform to the ISO 1990 C standard 886132718Skan 887132718Skanstd=c99 888132718SkanC ObjC 889132718SkanConform to the ISO 1999 C standard 890132718Skan 891132718Skanstd=c9x 892132718SkanC ObjC 893132718SkanDeprecated in favor of -std=c99 894132718Skan 895132718Skanstd=gnu++98 896132718SkanC++ ObjC++ 897132718SkanConform to the ISO 1998 C++ standard with GNU extensions 898132718Skan 899132718Skanstd=gnu89 900132718SkanC ObjC 901132718SkanConform to the ISO 1990 C standard with GNU extensions 902132718Skan 903132718Skanstd=gnu99 904132718SkanC ObjC 905132718SkanConform to the ISO 1999 C standard with GNU extensions 906132718Skan 907132718Skanstd=gnu9x 908132718SkanC ObjC 909132718SkanDeprecated in favor of -std=gnu99 910132718Skan 911132718Skanstd=iso9899:1990 912132718SkanC ObjC 913146908SkanConform to the ISO 1990 C standard 914132718Skan 915132718Skanstd=iso9899:199409 916132718SkanC ObjC 917132718SkanConform to the ISO 1990 C standard as amended in 1994 918132718Skan 919132718Skanstd=iso9899:1999 920132718SkanC ObjC 921146908SkanConform to the ISO 1999 C standard 922132718Skan 923132718Skanstd=iso9899:199x 924132718SkanC ObjC 925146908SkanDeprecated in favor of -std=iso9899:1999 926132718Skan 927132718Skantraditional-cpp 928132718SkanC ObjC C++ ObjC++ 929132718SkanEnable traditional preprocessing 930132718Skan 931132718Skantrigraphs 932132718SkanC ObjC C++ ObjC++ 933132718Skan-trigraphs Support ISO C trigraphs 934132718Skan 935132718Skanundef 936132718SkanC ObjC C++ ObjC++ 937132718SkanDo not predefine system-specific and GCC-specific macros 938132718Skan 939132718Skanv 940132718SkanC ObjC C++ ObjC++ 941132718SkanEnable verbose output 942132718Skan 943132718Skanw 944132718SkanC ObjC C++ ObjC++ 945132718Skan; Documented in common.opt 946132718Skan 947132718Skan; This comment is to ensure we retain the blank line above. 948