c.opt revision 223715
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: head/contrib/gcc/c.opt 223715 2011-07-01 20:45:55Z uqs $ 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 295132718SkanWnon-template-friend 296169699SkanC++ ObjC++ Var(warn_nontemplate_friend) Init(1) 297132718SkanWarn when non-templatized friend functions are declared within a template 298132718Skan 299132718SkanWnon-virtual-dtor 300169699SkanC++ ObjC++ Var(warn_nonvdtor) 301132718SkanWarn about non-virtual destructors 302132718Skan 303132718SkanWnonnull 304169699SkanC ObjC Var(warn_nonnull) 305169699SkanWarn about NULL being passed to argument slots marked as requiring non-NULL 306132718Skan 307169699SkanWnormalized= 308169699SkanC ObjC C++ ObjC++ Joined 309169699Skan-Wnormalized=<id|nfc|nfkc> Warn about non-normalised Unicode strings 310169699Skan 311132718SkanWold-style-cast 312169699SkanC++ ObjC++ Var(warn_old_style_cast) 313132718SkanWarn if a C-style cast is used in a program 314132718Skan 315132718SkanWold-style-definition 316169699SkanC ObjC Var(warn_old_style_definition) 317132718SkanWarn if an old-style parameter definition is used 318132718Skan 319169699SkanWoverlength-strings 320169699SkanC ObjC C++ ObjC++ Var(warn_overlength_strings) Init(-1) 321169699SkanWarn if a string is longer than the maximum portable length specified by the standard 322169699Skan 323132718SkanWoverloaded-virtual 324169699SkanC++ ObjC++ Var(warn_overloaded_virtual) 325132718SkanWarn about overloaded virtual function names 326132718Skan 327169699SkanWoverride-init 328169699SkanC ObjC Var(warn_override_init) Init(-1) 329169699SkanWarn about overriding initializers without side effects 330169699Skan 331132718SkanWparentheses 332169699SkanC ObjC C++ ObjC++ Var(warn_parentheses) 333132718SkanWarn about possibly missing parentheses 334132718Skan 335132718SkanWpmf-conversions 336169699SkanC++ ObjC++ Var(warn_pmf2ptr) Init(1) 337132718SkanWarn when converting the type of pointers to member functions 338132718Skan 339132718SkanWpointer-arith 340169699SkanC ObjC C++ ObjC++ Var(warn_pointer_arith) 341132718SkanWarn about function pointer arithmetic 342132718Skan 343169699SkanWpointer-to-int-cast 344169699SkanC ObjC Var(warn_pointer_to_int_cast) Init(1) 345169699SkanWarn when a pointer is cast to an integer of a different size 346169699Skan 347169699SkanWpragmas 348169699SkanC ObjC C++ ObjC++ Var(warn_pragmas) Init(1) 349169699SkanWarn about misuses of pragmas 350169699Skan 351132718SkanWprotocol 352169699SkanObjC ObjC++ Var(warn_protocol) Init(1) 353132718SkanWarn if inherited methods are unimplemented 354132718Skan 355132718SkanWredundant-decls 356169699SkanC ObjC C++ ObjC++ Var(warn_redundant_decls) 357132718SkanWarn about multiple declarations of the same object 358132718Skan 359132718SkanWreorder 360169699SkanC++ ObjC++ Var(warn_reorder) 361132718SkanWarn when the compiler reorders code 362132718Skan 363132718SkanWreturn-type 364169699SkanC ObjC C++ ObjC++ Var(warn_return_type) 365132718SkanWarn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++) 366132718Skan 367132718SkanWselector 368169699SkanObjC ObjC++ Var(warn_selector) 369132718SkanWarn if a selector has multiple methods 370132718Skan 371132718SkanWsequence-point 372169699SkanC ObjC C++ ObjC++ Var(warn_sequence_point) 373132718SkanWarn about possible violations of sequence point rules 374132718Skan 375132718SkanWsign-compare 376169699SkanC ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1) 377132718SkanWarn about signed-unsigned comparisons 378132718Skan 379132718SkanWsign-promo 380169699SkanC++ ObjC++ Var(warn_sign_promo) 381132718SkanWarn when overload promotes from unsigned to signed 382132718Skan 383169699SkanWstrict-null-sentinel 384169699SkanC++ ObjC++ 385169699SkanWarn about uncasted NULL used as sentinel 386169699Skan 387132718SkanWstrict-prototypes 388169699SkanC ObjC Var(warn_strict_prototypes) 389132718SkanWarn about unprototyped function declarations 390132718Skan 391169699SkanWstrict-selector-match 392169699SkanObjC ObjC++ Var(warn_strict_selector_match) 393169699SkanWarn if type signatures of candidate methods do not match exactly 394169699Skan 395132718SkanWsynth 396169699SkanC++ ObjC++ Var(warn_synth) 397132718SkanWarn when synthesis behavior differs from Cfront 398132718Skan 399132718SkanWsystem-headers 400132718SkanC ObjC C++ ObjC++ 401132718SkanDo not suppress warnings from system headers 402132718Skan 403132718SkanWtraditional 404169699SkanC ObjC Var(warn_traditional) 405132718SkanWarn about features not present in traditional C 406132718Skan 407223715SuqsWtrampolines 408223715SuqsCommon Var(warn_trampolines) 409223715SuqsWarn when trampolines are emitted 410223715Suqs 411132718SkanWtrigraphs 412132718SkanC ObjC C++ ObjC++ 413132718SkanWarn if trigraphs are encountered that might affect the meaning of the program 414132718Skan 415132718SkanWundeclared-selector 416169699SkanObjC ObjC++ Var(warn_undeclared_selector) 417169699SkanWarn about @selector()s without previously declared methods 418132718Skan 419132718SkanWundef 420132718SkanC ObjC C++ ObjC++ 421132718SkanWarn if an undefined macro is used in an #if directive 422132718Skan 423132718SkanWunknown-pragmas 424132718SkanC ObjC C++ ObjC++ 425132718SkanWarn about unrecognized pragmas 426132718Skan 427132718SkanWunused-macros 428132718SkanC ObjC C++ ObjC++ 429132718SkanWarn about macros defined in the main file that are not used 430132718Skan 431169699SkanWvariadic-macros 432132718SkanC ObjC C++ ObjC++ 433169699SkanDo not warn about using variadic macros when -pedantic 434132718Skan 435169699SkanWwrite-strings 436169699SkanC ObjC C++ ObjC++ Var(warn_write_strings) 437169699SkanIn 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. 438169699Skan 439169699SkanWpointer-sign 440169699SkanC ObjC Var(warn_pointer_sign) Init(-1) 441169699SkanWarn when a pointer differs in signedness in an assignment 442169699Skan 443132718Skanansi 444132718SkanC ObjC C++ ObjC++ 445169699SkanA synonym for -std=c89 (for C) or -std=c++98 (for C++) 446132718Skan 447132718Skand 448132718SkanC ObjC C++ ObjC++ Joined 449132718Skan; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD? 450132718Skan 451132718Skanfaccess-control 452132718SkanC++ ObjC++ 453132718SkanEnforce class member access control semantics 454132718Skan 455132718Skanfall-virtual 456132718SkanC++ ObjC++ 457132718Skan 458132718Skanfalt-external-templates 459132718SkanC++ ObjC++ 460132718SkanChange when template instances are emitted 461132718Skan 462132718Skanfasm 463132718SkanC ObjC C++ ObjC++ 464132718SkanRecognize the \"asm\" keyword 465132718Skan 466132718Skanfbuiltin 467132718SkanC ObjC C++ ObjC++ 468132718SkanRecognize built-in functions 469132718Skan 470132718Skanfbuiltin- 471132718SkanC ObjC C++ ObjC++ Joined 472132718Skan 473132718Skanfcheck-new 474132718SkanC++ ObjC++ 475132718SkanCheck the return value of new 476132718Skan 477132718Skanfcond-mismatch 478132718SkanC ObjC C++ ObjC++ 479132718SkanAllow the arguments of the '?' operator to have different types 480132718Skan 481132718Skanfconserve-space 482132718SkanC++ ObjC++ 483132718SkanReduce the size of object files 484132718Skan 485132718Skanfconstant-string-class= 486132718SkanObjC ObjC++ Joined 487132718Skan-fconst-string-class=<name> Use class <name> for constant strings 488132718Skan 489132718Skanfdefault-inline 490132718SkanC++ ObjC++ 491132718SkanInline member functions by default 492132718Skan 493132718Skanfdollars-in-identifiers 494132718SkanC ObjC C++ ObjC++ 495132718SkanPermit '$' as an identifier character 496132718Skan 497132718Skanfelide-constructors 498132718SkanC++ ObjC++ 499132718Skan 500132718Skanfenforce-eh-specs 501132718SkanC++ ObjC++ 502132718SkanGenerate code to check exception specifications 503132718Skan 504132718Skanfenum-int-equiv 505132718SkanC++ ObjC++ 506132718Skan 507132718Skanfexec-charset= 508132718SkanC ObjC C++ ObjC++ Joined RejectNegative 509132718Skan-fexec-charset=<cset> Convert all strings and character constants to character set <cset> 510132718Skan 511169699Skanfextended-identifiers 512169699SkanC ObjC C++ ObjC++ 513169699SkanPermit universal character names (\\u and \\U) in identifiers 514169699Skan 515132718Skanfinput-charset= 516132718SkanC ObjC C++ ObjC++ Joined RejectNegative 517169699Skan-finput-charset=<cset> Specify the default character set for source files 518132718Skan 519132718Skan 520132718Skanfexternal-templates 521132718SkanC++ ObjC++ 522132718Skan 523132718Skanffor-scope 524132718SkanC++ ObjC++ 525132718SkanScope of for-init-statement variables is local to the loop 526132718Skan 527132718Skanffreestanding 528132718SkanC ObjC 529132718SkanDo not assume that standard C libraries and \"main\" exist 530132718Skan 531132718Skanfgnu-keywords 532132718SkanC++ ObjC++ 533132718SkanRecognize GNU-defined keywords 534132718Skan 535132718Skanfgnu-runtime 536132718SkanObjC ObjC++ 537132718SkanGenerate code for GNU runtime environment 538132718Skan 539169699Skanfgnu89-inline 540169699SkanC ObjC Var(flag_gnu89_inline) Init(-1) 541169699SkanUse traditional GNU semantics for inline functions 542169699Skan 543132718Skanfguiding-decls 544132718SkanC++ ObjC++ 545132718Skan 546132718Skanfhandle-exceptions 547132718SkanC++ ObjC++ 548132718Skan 549132718Skanfhonor-std 550132718SkanC++ ObjC++ 551132718Skan 552132718Skanfhosted 553132718SkanC ObjC 554132718SkanAssume normal C execution environment 555132718Skan 556132718Skanfhuge-objects 557132718SkanC++ ObjC++ 558132718SkanEnable support for huge objects 559132718Skan 560132718Skanfimplement-inlines 561132718SkanC++ ObjC++ 562132718SkanExport functions even if they can be inlined 563132718Skan 564132718Skanfimplicit-inline-templates 565132718SkanC++ ObjC++ 566132718SkanEmit implicit instantiations of inline templates 567132718Skan 568132718Skanfimplicit-templates 569132718SkanC++ ObjC++ 570132718SkanEmit implicit instantiations of templates 571132718Skan 572169699Skanffriend-injection 573169699SkanC++ ObjC++ Var(flag_friend_injection) 574169699SkanInject friend functions into enclosing namespace 575169699Skan 576132718Skanflabels-ok 577132718SkanC++ ObjC++ 578132718Skan 579132718Skanfms-extensions 580132718SkanC ObjC C++ ObjC++ 581132718SkanDon't warn about uses of Microsoft extensions 582132718Skan 583132718Skanfname-mangling-version- 584132718SkanC++ ObjC++ Joined 585132718Skan 586132718Skanfnew-abi 587132718SkanC++ ObjC++ 588132718Skan 589132718Skanfnext-runtime 590132718SkanObjC ObjC++ 591132718SkanGenerate code for NeXT (Apple Mac OS X) runtime environment 592132718Skan 593132718Skanfnil-receivers 594132718SkanObjC ObjC++ 595132718SkanAssume that receivers of Objective-C messages may be nil 596132718Skan 597132718Skanfnonansi-builtins 598132718SkanC++ ObjC++ 599132718Skan 600132718Skanfnonnull-objects 601132718SkanC++ ObjC++ 602132718Skan 603169699Skan; Generate special '- .cxx_construct' and '- .cxx_destruct' methods 604169699Skan; to initialize any non-POD ivars in Objective-C++ classes. 605169699Skanfobjc-call-cxx-cdtors 606169699SkanObjC++ Var(flag_objc_call_cxx_cdtors) 607169699SkanGenerate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed 608169699Skan 609169699Skanfobjc-direct-dispatch 610169699SkanObjC ObjC++ Var(flag_objc_direct_dispatch) 611169699SkanAllow fast jumps to the message dispatcher 612169699Skan 613169699Skan; Nonzero means that we will allow new ObjC exception syntax (@throw, 614169699Skan; @try, etc.) in source code. 615132718Skanfobjc-exceptions 616169699SkanObjC ObjC++ Var(flag_objc_exceptions) 617132718SkanEnable Objective-C exception and synchronization syntax 618132718Skan 619169699Skanfobjc-gc 620169699SkanObjC ObjC++ Var(flag_objc_gc) 621169699SkanEnable garbage collection (GC) in Objective-C/Objective-C++ programs 622169699Skan 623169699Skan; Nonzero means that we generate NeXT setjmp based exceptions. 624169699Skanfobjc-sjlj-exceptions 625169699SkanObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1) 626169699SkanEnable Objective-C setjmp exception handling runtime 627169699Skan 628169699Skanfopenmp 629169699SkanC ObjC C++ ObjC++ Var(flag_openmp) 630169699SkanEnable OpenMP 631169699Skan 632132718Skanfoperator-names 633132718SkanC++ ObjC++ 634132718SkanRecognize C++ kewords like \"compl\" and \"xor\" 635132718Skan 636132718Skanfoptional-diags 637132718SkanC++ ObjC++ 638132718SkanEnable optional diagnostics 639132718Skan 640132718Skanfpch-deps 641132718SkanC ObjC C++ ObjC++ 642132718Skan 643169699Skanfpch-preprocess 644169699SkanC ObjC C++ ObjC++ 645169699SkanLook for and use PCH files even when preprocessing 646169699Skan 647132718Skanfpermissive 648132718SkanC++ ObjC++ 649132718SkanDowngrade conformance errors to warnings 650132718Skan 651132718Skanfpreprocessed 652132718SkanC ObjC C++ ObjC++ 653132718SkanTreat the input file as already preprocessed 654132718Skan 655132718Skanfreplace-objc-classes 656132718SkanObjC ObjC++ 657132718SkanUsed in Fix-and-Continue mode to indicate that object files may be swapped in at runtime 658132718Skan 659132718Skanfrepo 660132718SkanC++ ObjC++ 661132718SkanEnable automatic template instantiation 662132718Skan 663132718Skanfrtti 664132718SkanC++ ObjC++ 665132718SkanGenerate run time type descriptor information 666132718Skan 667132718Skanfshort-double 668132718SkanC ObjC C++ ObjC++ 669132718SkanUse the same size for double as for float 670132718Skan 671132718Skanfshort-enums 672132718SkanC ObjC C++ ObjC++ 673132718SkanUse the narrowest integer type possible for enumeration types 674132718Skan 675132718Skanfshort-wchar 676132718SkanC ObjC C++ ObjC++ 677132718SkanForce the underlying type for \"wchar_t\" to be \"unsigned short\" 678132718Skan 679132718Skanfsigned-bitfields 680132718SkanC ObjC C++ ObjC++ 681132718SkanWhen \"signed\" or \"unsigned\" is not given make the bitfield signed 682132718Skan 683132718Skanfsigned-char 684132718SkanC ObjC C++ ObjC++ 685132718SkanMake \"char\" signed by default 686132718Skan 687132718Skanfsquangle 688132718SkanC++ ObjC++ 689132718Skan 690132718Skanfstats 691132718SkanC++ ObjC++ 692132718SkanDisplay statistics accumulated during compilation 693132718Skan 694132718Skanfstrict-prototype 695132718SkanC++ ObjC++ 696132718Skan 697132718Skanftabstop= 698132718SkanC ObjC C++ ObjC++ Joined RejectNegative UInteger 699132718Skan-ftabstop=<number> Distance between tab stops for column reporting 700132718Skan 701132718Skanftemplate-depth- 702169699SkanC++ ObjC++ Joined RejectNegative UInteger 703132718Skan-ftemplate-depth-<number> Specify maximum template instantiation depth 704132718Skan 705132718Skanfthis-is-variable 706132718SkanC++ ObjC++ 707132718Skan 708169699Skanfthreadsafe-statics 709169699SkanC++ ObjC++ 710169699Skan-fno-threadsafe-statics Do not generate thread-safe code for initializing local statics 711169699Skan 712132718Skanfunsigned-bitfields 713132718SkanC ObjC C++ ObjC++ 714132718SkanWhen \"signed\" or \"unsigned\" is not given make the bitfield unsigned 715132718Skan 716132718Skanfunsigned-char 717132718SkanC ObjC C++ ObjC++ 718132718SkanMake \"char\" unsigned by default 719132718Skan 720132718Skanfuse-cxa-atexit 721132718SkanC++ ObjC++ 722132718SkanUse __cxa_atexit to register destructors 723132718Skan 724169699Skanfuse-cxa-get-exception-ptr 725169699SkanC++ ObjC++ 726169699SkanUse __cxa_get_exception_ptr in exception handling 727169699Skan 728169699Skanfvisibility-inlines-hidden 729169699SkanC++ ObjC++ 730169699SkanMarks all inlined methods as having hidden visibility 731169699Skan 732132718Skanfvtable-gc 733132718SkanC++ ObjC++ 734132718SkanDiscard unused virtual functions 735132718Skan 736132718Skanfvtable-thunks 737132718SkanC++ ObjC++ 738132718SkanImplement vtables using thunks 739132718Skan 740132718Skanfweak 741132718SkanC++ ObjC++ 742132718SkanEmit common-like symbols as weak symbols 743132718Skan 744132718Skanfwide-exec-charset= 745132718SkanC ObjC C++ ObjC++ Joined RejectNegative 746132718Skan-fwide-exec-charset=<cset> Convert all wide strings and character constants to character set <cset> 747132718Skan 748132718Skanfworking-directory 749132718SkanC ObjC C++ ObjC++ 750132718SkanGenerate a #line directive pointing at the current working directory 751132718Skan 752132718Skanfxref 753132718SkanC++ ObjC++ 754132718SkanEmit cross referencing information 755132718Skan 756132718Skanfzero-link 757132718SkanObjC ObjC++ 758132718SkanGenerate lazy class lookup (via objc_getClass()) for use in Zero-Link mode 759132718Skan 760132718Skangen-decls 761132718SkanObjC ObjC++ 762132718SkanDump declarations to a .decl file 763132718Skan 764132718Skanidirafter 765132718SkanC ObjC C++ ObjC++ Joined Separate 766132718Skan-idirafter <dir> Add <dir> to the end of the system include path 767132718Skan 768132718Skanimacros 769132718SkanC ObjC C++ ObjC++ Joined Separate 770132718Skan-imacros <file> Accept definition of macros in <file> 771132718Skan 772169699Skanimultilib 773169699SkanC ObjC C++ ObjC++ Joined Separate 774169699Skan-imultilib <dir> Set <dir> to be the multilib include subdirectory 775169699Skan 776132718Skaninclude 777132718SkanC ObjC C++ ObjC++ Joined Separate 778132718Skan-include <file> Include the contents of <file> before other files 779132718Skan 780132718Skaniprefix 781132718SkanC ObjC C++ ObjC++ Joined Separate 782132718Skan-iprefix <path> Specify <path> as a prefix for next two options 783132718Skan 784132718Skanisysroot 785132718SkanC ObjC C++ ObjC++ Joined Separate 786132718Skan-isysroot <dir> Set <dir> to be the system root directory 787132718Skan 788132718Skanisystem 789132718SkanC ObjC C++ ObjC++ Joined Separate 790132718Skan-isystem <dir> Add <dir> to the start of the system include path 791132718Skan 792169699Skaniquote 793169699SkanC ObjC C++ ObjC++ Joined Separate 794169699Skan-iquote <dir> Add <dir> to the end of the quote include path 795169699Skan 796132718Skaniwithprefix 797132718SkanC ObjC C++ ObjC++ Joined Separate 798132718Skan-iwithprefix <dir> Add <dir> to the end of the system include path 799132718Skan 800132718Skaniwithprefixbefore 801132718SkanC ObjC C++ ObjC++ Joined Separate 802132718Skan-iwithprefixbefore <dir> Add <dir> to the end of the main include path 803132718Skan 804132718Skanlang-asm 805132718SkanC Undocumented 806132718Skan 807169699Skanlang-fortran 808169699SkanC Undocumented 809169699Skan 810132718Skanlang-objc 811132718SkanC ObjC C++ ObjC++ Undocumented 812132718Skan 813132718Skannostdinc 814132718SkanC ObjC C++ ObjC++ 815132718SkanDo not search standard system include directories (those specified with -isystem will still be used) 816132718Skan 817132718Skannostdinc++ 818132718SkanC++ ObjC++ 819132718SkanDo not search standard system include directories for C++ 820132718Skan 821132718Skano 822132718SkanC ObjC C++ ObjC++ Joined Separate 823132718Skan; Documented in common.opt 824132718Skan 825132718Skanpedantic 826132718SkanC ObjC C++ ObjC++ 827132718Skan; Documented in common.opt 828132718Skan 829132718Skanpedantic-errors 830132718SkanC ObjC C++ ObjC++ 831132718Skan; Documented in common.opt 832132718Skan 833132718Skanprint-objc-runtime-info 834132718SkanObjC ObjC++ 835132718SkanGenerate C header of platform-specific features 836132718Skan 837169699Skanprint-pch-checksum 838169699SkanC ObjC C++ ObjC++ 839169699SkanPrint a checksum of the executable for PCH validity checking, and stop 840169699Skan 841132718Skanremap 842132718SkanC ObjC C++ ObjC++ 843132718SkanRemap file names when including files 844132718Skan 845132718Skanstd=c++98 846132718SkanC++ ObjC++ 847132718SkanConform to the ISO 1998 C++ standard 848132718Skan 849132718Skanstd=c89 850132718SkanC ObjC 851132718SkanConform to the ISO 1990 C standard 852132718Skan 853132718Skanstd=c99 854132718SkanC ObjC 855132718SkanConform to the ISO 1999 C standard 856132718Skan 857132718Skanstd=c9x 858132718SkanC ObjC 859132718SkanDeprecated in favor of -std=c99 860132718Skan 861132718Skanstd=gnu++98 862132718SkanC++ ObjC++ 863132718SkanConform to the ISO 1998 C++ standard with GNU extensions 864132718Skan 865132718Skanstd=gnu89 866132718SkanC ObjC 867132718SkanConform to the ISO 1990 C standard with GNU extensions 868132718Skan 869132718Skanstd=gnu99 870132718SkanC ObjC 871132718SkanConform to the ISO 1999 C standard with GNU extensions 872132718Skan 873132718Skanstd=gnu9x 874132718SkanC ObjC 875132718SkanDeprecated in favor of -std=gnu99 876132718Skan 877132718Skanstd=iso9899:1990 878132718SkanC ObjC 879146908SkanConform to the ISO 1990 C standard 880132718Skan 881132718Skanstd=iso9899:199409 882132718SkanC ObjC 883132718SkanConform to the ISO 1990 C standard as amended in 1994 884132718Skan 885132718Skanstd=iso9899:1999 886132718SkanC ObjC 887146908SkanConform to the ISO 1999 C standard 888132718Skan 889132718Skanstd=iso9899:199x 890132718SkanC ObjC 891146908SkanDeprecated in favor of -std=iso9899:1999 892132718Skan 893132718Skantraditional-cpp 894132718SkanC ObjC C++ ObjC++ 895132718SkanEnable traditional preprocessing 896132718Skan 897132718Skantrigraphs 898132718SkanC ObjC C++ ObjC++ 899132718Skan-trigraphs Support ISO C trigraphs 900132718Skan 901132718Skanundef 902132718SkanC ObjC C++ ObjC++ 903132718SkanDo not predefine system-specific and GCC-specific macros 904132718Skan 905132718Skanv 906132718SkanC ObjC C++ ObjC++ 907132718SkanEnable verbose output 908132718Skan 909132718Skanw 910132718SkanC ObjC C++ ObjC++ 911132718Skan; Documented in common.opt 912132718Skan 913132718Skan; This comment is to ensure we retain the blank line above. 914