c.opt revision 132718
1132718Skan; Options for the C, ObjC, C++ and ObjC++ front ends. 2132718Skan; Copyright (C) 2003 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. 10132718Skan; 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. 15132718Skan; 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 18132718Skan; Software Foundation, 59 Temple Place - Suite 330, Boston, MA 19132718Skan; 02111-1307, USA. 20132718Skan 21132718Skan 22132718Skan; This file is processed by the script opts.sh. It is a database of 23132718Skan; command line options, with each record separated by a blank line, 24132718Skan; and each field appearing on its own line. The first field is the 25132718Skan; command-line switch with the leading "-" removed. All options 26132718Skan; beginning with "f" or "W" are implicitly assumed to take a "no-" 27132718Skan; form; this form should not be listed. If you do not want this 28132718Skan; negative form and you want it to be automatically rejected, add 29132718Skan; RejectNegative to the second field. 30132718Skan 31132718Skan; The second field is a space-separated list of which parts of the 32132718Skan; compiler recognize the switch, as declared by "Language" entries. 33132718Skan; If the switch takes an argument, then you should also specify 34132718Skan; "Joined" and/or "Separate" to indicate where the argument can 35132718Skan; appear. If a Joined argument can legitimately be omitted, specify 36132718Skan; "JoinedOrMissing" instead of "Joined". If the argument to a switch 37132718Skan; is a non-negative integer, you can specify "UInteger" and the switch 38132718Skan; decoder will convert the argument for you, or complain to the user 39132718Skan; if the argument is invalid. 40132718Skan 41132718Skan; The third field is the help text to output with --help. This is 42132718Skan; automatically line-wrapped on output. Normally the switch is output 43132718Skan; automatically, with the help text on the right hand side of the 44132718Skan; output. However, if the help text contains a tab character, the 45132718Skan; text to the left of the tab is output instead of the switch, and the 46132718Skan; text to its right forms the help. This is useful for elaborating on 47132718Skan; what type of argument a switch takes, for example. If the second 48132718Skan; field contains "Undocumented" then nothing is output with --help. 49132718Skan; Only do this with good reason like the switch being internal between 50132718Skan; the driver and the front end - it is not an excuse to leave a switch 51132718Skan; undocumented. 52132718Skan 53132718Skan; Comments can appear on their own line anwhere in the file, preceded 54132718Skan; by a semicolon. Whitespace is permitted before the semicolon. 55132718Skan 56132718Skan; For each switch XXX below, an enumeration constant is created by the 57132718Skan; script opts.sh spelt OPT_XXX, but with all non-alphanumeric 58132718Skan; characters replaced with an underscore. 59132718Skan 60132718Skan; Please try to keep this file in ASCII collating order. 61132718Skan 62132718SkanLanguage 63132718SkanC 64132718Skan 65132718SkanLanguage 66132718SkanObjC 67132718Skan 68132718SkanLanguage 69132718SkanC++ 70132718Skan 71132718SkanLanguage 72132718SkanObjC++ 73132718Skan 74132718Skan-output-pch= 75132718SkanC ObjC C++ ObjC++ Joined Separate 76132718Skan 77132718SkanA 78132718SkanC ObjC C++ ObjC++ Joined Separate 79132718Skan-A<question>=<answer> Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question> 80132718Skan 81132718SkanC 82132718SkanC ObjC C++ ObjC++ 83132718SkanDo not discard comments 84132718Skan 85132718SkanCC 86132718SkanC ObjC C++ ObjC++ 87132718SkanDo not discard comments in macro expansions 88132718Skan 89132718SkanD 90132718SkanC ObjC C++ ObjC++ Joined Separate 91132718Skan-D<macro>[=<val>] Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1 92132718Skan 93132718SkanE 94132718SkanC ObjC C++ ObjC++ Undocumented 95132718Skan 96132718SkanH 97132718SkanC ObjC C++ ObjC++ 98132718SkanPrint the name of header files as they are used 99132718Skan 100132718SkanI 101132718SkanC ObjC C++ ObjC++ Joined Separate 102132718Skan-I <dir> Add <dir> to the end of the main include path. -I- gives more include path control; see info documentation 103132718Skan 104132718SkanM 105132718SkanC ObjC C++ ObjC++ 106132718SkanGenerate make dependencies 107132718Skan 108132718SkanMD 109132718SkanC ObjC C++ ObjC++ Separate 110132718SkanGenerate make dependencies and compile 111132718Skan 112132718SkanMF 113132718SkanC ObjC C++ ObjC++ Joined Separate 114132718Skan-MF <file> Write dependency output to the given file 115132718Skan 116132718SkanMG 117132718SkanC ObjC C++ ObjC++ 118132718SkanTreat missing header files as generated files 119132718Skan 120132718SkanMM 121132718SkanC ObjC C++ ObjC++ 122132718SkanLike -M but ignore system header files 123132718Skan 124132718SkanMMD 125132718SkanC ObjC C++ ObjC++ Separate 126132718SkanLike -MD but ignore system header files 127132718Skan 128132718SkanMP 129132718SkanC ObjC C++ ObjC++ 130132718SkanGenerate phony targets for all headers 131132718Skan 132132718SkanMQ 133132718SkanC ObjC C++ ObjC++ Joined Separate 134132718Skan-MQ <target> Add a MAKE-quoted target 135132718Skan 136132718SkanMT 137132718SkanC ObjC C++ ObjC++ Joined Separate 138132718Skan-MT <target> Add an unquoted target 139132718Skan 140132718SkanP 141132718SkanC ObjC C++ ObjC++ 142132718SkanDo not generate #line directives 143132718Skan 144132718SkanU 145132718SkanC ObjC C++ ObjC++ Joined Separate 146132718Skan-U<macro> Undefine <macro> 147132718Skan 148132718SkanWabi 149132718SkanC++ ObjC++ 150132718Skan 151132718SkanWall 152132718SkanC ObjC C++ ObjC++ 153132718SkanEnable most warning messages 154132718Skan 155132718SkanWbad-function-cast 156132718SkanC ObjC 157132718SkanWarn about casting functions to incompatible types 158132718Skan 159132718SkanWcast-qual 160132718SkanC ObjC C++ ObjC++ 161132718SkanWarn about casts which discard qualifiers 162132718Skan 163132718SkanWchar-subscripts 164132718SkanC ObjC C++ ObjC++ 165132718SkanWarn about subscripts whose type is \"char\" 166132718Skan 167132718SkanWcomment 168132718SkanC ObjC C++ ObjC++ 169132718SkanWarn about possibly nested block comments, and C++ comments spanning more than one physical line 170132718Skan 171132718SkanWcomments 172132718SkanC ObjC C++ ObjC++ 173132718SkanSynonym for -Wcomment 174132718Skan 175132718SkanWconversion 176132718SkanC ObjC C++ ObjC++ 177132718SkanWarn about possibly confusing type conversions 178132718Skan 179132718SkanWctor-dtor-privacy 180132718SkanC++ ObjC++ 181132718SkanWarn when all constructors and destructors are private 182132718Skan 183132718SkanWdeclaration-after-statement 184132718SkanC ObjC 185132718SkanWarn when a declaration is found after a statement 186132718Skan 187132718SkanWdeprecated 188132718SkanC++ ObjC++ 189132718SkanWarn about deprecated compiler features 190132718Skan 191132718SkanWdiv-by-zero 192132718SkanC ObjC 193132718SkanWarn about compile-time integer division by zero 194132718Skan 195132718SkanWeffc++ 196132718SkanC++ ObjC++ 197132718SkanWarn about violations of Effective C++ style rules 198132718Skan 199132718SkanWendif-labels 200132718SkanC ObjC C++ ObjC++ 201132718SkanWarn about stray tokens after #elif and #endif 202132718Skan 203132718SkanWerror 204132718SkanC ObjC C++ ObjC++ 205132718Skan; Documented in common.opt 206132718Skan 207132718SkanWerror-implicit-function-declaration 208132718SkanC ObjC RejectNegative 209132718SkanMake implicit function declarations an error 210132718Skan 211132718SkanWfloat-equal 212132718SkanC ObjC C++ ObjC++ 213132718SkanWarn if testing floating point numbers for equality 214132718Skan 215132718SkanWformat 216132718SkanC ObjC C++ ObjC++ 217132718SkanWarn about printf/scanf/strftime/strfmon format string anomalies 218132718Skan 219132718SkanWformat-extra-args 220132718SkanC ObjC C++ ObjC++ 221132718SkanWarn if passing too many arguments to a function for its format string 222132718Skan 223132718SkanWformat-nonliteral 224132718SkanC ObjC C++ ObjC++ 225132718SkanWarn about format strings that are not literals 226132718Skan 227132718SkanWformat-security 228132718SkanC ObjC C++ ObjC++ 229132718SkanWarn about possible security problems with format functions 230132718Skan 231132718SkanWformat-y2k 232132718SkanC ObjC C++ ObjC++ 233132718SkanWarn about strftime formats yielding 2-digit years 234132718Skan 235132718SkanWformat-zero-length 236132718SkanC ObjC 237132718Skan 238132718SkanWformat= 239132718SkanC ObjC C++ ObjC++ Joined 240132718Skan 241132718SkanWinit-self 242132718SkanC ObjC C++ ObjC++ 243132718SkanWarn about variables which are initialized to themselves. 244132718Skan 245132718SkanWimplicit 246132718SkanC ObjC C++ ObjC++ 247132718Skan 248132718SkanWimplicit-function-declaration 249132718SkanC ObjC 250132718SkanWarn about implicit function declarations 251132718Skan 252132718SkanWimplicit-int 253132718SkanC ObjC 254132718SkanWarn when a declaration does not specify a type 255132718Skan 256132718SkanWimport 257132718SkanC ObjC C++ ObjC++ 258132718SkanDeprecated. This switch has no effect. 259132718Skan 260132718SkanWinvalid-offsetof 261132718SkanC++ ObjC++ 262132718SkanWarn about invalid uses of the \"offsetof\" macro 263132718Skan 264132718SkanWinvalid-pch 265132718SkanC ObjC C++ ObjC++ 266132718SkanWarn about PCH files that are found but not used 267132718Skan 268132718SkanWlong-long 269132718SkanC ObjC C++ ObjC++ 270132718SkanDo not warn about using \"long long\" when -pedantic 271132718Skan 272132718SkanWmain 273132718SkanC ObjC 274132718SkanWarn about suspicious declarations of \"main\" 275132718Skan 276132718SkanWmissing-braces 277132718SkanC ObjC C++ ObjC++ 278132718SkanWarn about possibly missing braces around initializers 279132718Skan 280132718SkanWmissing-declarations 281132718SkanC ObjC 282132718SkanWarn about global functions without previous declarations 283132718Skan 284132718SkanWmissing-format-attribute 285132718SkanC ObjC C++ ObjC++ 286132718SkanWarn about functions which might be candidates for format attributes 287132718Skan 288132718SkanWmissing-prototypes 289132718SkanC ObjC 290132718SkanWarn about global functions without prototypes 291132718Skan 292132718SkanWmultichar 293132718SkanC ObjC C++ ObjC++ 294132718SkanWarn about use of multi-character character constants 295132718Skan 296132718SkanWnested-externs 297132718SkanC ObjC 298132718SkanWarn about \"extern\" declarations not at file scope 299132718Skan 300132718SkanWnon-template-friend 301132718SkanC++ ObjC++ 302132718SkanWarn when non-templatized friend functions are declared within a template 303132718Skan 304132718SkanWnon-virtual-dtor 305132718SkanC++ ObjC++ 306132718SkanWarn about non-virtual destructors 307132718Skan 308132718SkanWnonnull 309132718SkanC ObjC 310132718Skan 311132718SkanWold-style-cast 312132718SkanC++ ObjC++ 313132718SkanWarn if a C-style cast is used in a program 314132718Skan 315132718SkanWold-style-definition 316132718SkanC ObjC 317132718SkanWarn if an old-style parameter definition is used 318132718Skan 319132718SkanWoverloaded-virtual 320132718SkanC++ ObjC++ 321132718SkanWarn about overloaded virtual function names 322132718Skan 323132718SkanWparentheses 324132718SkanC ObjC C++ ObjC++ 325132718SkanWarn about possibly missing parentheses 326132718Skan 327132718SkanWpmf-conversions 328132718SkanC++ ObjC++ 329132718SkanWarn when converting the type of pointers to member functions 330132718Skan 331132718SkanWpointer-arith 332132718SkanC ObjC C++ ObjC++ 333132718SkanWarn about function pointer arithmetic 334132718Skan 335132718SkanWprotocol 336132718SkanObjC ObjC++ 337132718SkanWarn if inherited methods are unimplemented 338132718Skan 339132718SkanWredundant-decls 340132718SkanC ObjC C++ ObjC++ 341132718SkanWarn about multiple declarations of the same object 342132718Skan 343132718SkanWreorder 344132718SkanC++ ObjC++ 345132718SkanWarn when the compiler reorders code 346132718Skan 347132718SkanWreturn-type 348132718SkanC ObjC C++ ObjC++ 349132718SkanWarn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++) 350132718Skan 351132718SkanWselector 352132718SkanObjC ObjC++ 353132718SkanWarn if a selector has multiple methods 354132718Skan 355132718SkanWsequence-point 356132718SkanC ObjC 357132718SkanWarn about possible violations of sequence point rules 358132718Skan 359132718SkanWsign-compare 360132718SkanC ObjC C++ ObjC++ 361132718SkanWarn about signed-unsigned comparisons 362132718Skan 363132718SkanWsign-promo 364132718SkanC++ ObjC++ 365132718SkanWarn when overload promotes from unsigned to signed 366132718Skan 367132718SkanWstrict-prototypes 368132718SkanC ObjC 369132718SkanWarn about unprototyped function declarations 370132718Skan 371132718SkanWsynth 372132718SkanC++ ObjC++ 373132718SkanWarn when synthesis behavior differs from Cfront 374132718Skan 375132718SkanWsystem-headers 376132718SkanC ObjC C++ ObjC++ 377132718SkanDo not suppress warnings from system headers 378132718Skan 379132718SkanWtraditional 380132718SkanC ObjC 381132718SkanWarn about features not present in traditional C 382132718Skan 383132718SkanWtrigraphs 384132718SkanC ObjC C++ ObjC++ 385132718SkanWarn if trigraphs are encountered that might affect the meaning of the program 386132718Skan 387132718SkanWundeclared-selector 388132718SkanObjC ObjC++ 389132718Skan 390132718SkanWundef 391132718SkanC ObjC C++ ObjC++ 392132718SkanWarn if an undefined macro is used in an #if directive 393132718Skan 394132718SkanWunknown-pragmas 395132718SkanC ObjC C++ ObjC++ 396132718SkanWarn about unrecognized pragmas 397132718Skan 398132718SkanWunused-macros 399132718SkanC ObjC C++ ObjC++ 400132718SkanWarn about macros defined in the main file that are not used 401132718Skan 402132718SkanWwrite-strings 403132718SkanC ObjC C++ ObjC++ 404132718SkanGive strings the type \"array of char\" 405132718Skan 406132718Skanansi 407132718SkanC ObjC C++ ObjC++ 408132718SkanA synonym for -std=c89. In a future version of GCC it will become synonymous with -std=c99 instead 409132718Skan 410132718Skand 411132718SkanC ObjC C++ ObjC++ Joined 412132718Skan; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD? 413132718Skan 414132718Skanfaccess-control 415132718SkanC++ ObjC++ 416132718SkanEnforce class member access control semantics 417132718Skan 418132718Skanfall-virtual 419132718SkanC++ ObjC++ 420132718Skan 421132718Skanfalt-external-templates 422132718SkanC++ ObjC++ 423132718SkanChange when template instances are emitted 424132718Skan 425132718Skanfasm 426132718SkanC ObjC C++ ObjC++ 427132718SkanRecognize the \"asm\" keyword 428132718Skan 429132718Skanfbuiltin 430132718SkanC ObjC C++ ObjC++ 431132718SkanRecognize built-in functions 432132718Skan 433132718Skanfbuiltin- 434132718SkanC ObjC C++ ObjC++ Joined 435132718Skan 436132718Skanfcheck-new 437132718SkanC++ ObjC++ 438132718SkanCheck the return value of new 439132718Skan 440132718Skanfcond-mismatch 441132718SkanC ObjC C++ ObjC++ 442132718SkanAllow the arguments of the '?' operator to have different types 443132718Skan 444132718Skanfconserve-space 445132718SkanC++ ObjC++ 446132718SkanReduce the size of object files 447132718Skan 448132718Skanfconst-strings 449132718SkanC++ ObjC++ 450132718SkanMake string literals \"const char[]\" not \"char[]\" 451132718Skan 452132718Skanfconstant-string-class= 453132718SkanObjC ObjC++ Joined 454132718Skan-fconst-string-class=<name> Use class <name> for constant strings 455132718Skan 456132718Skanfdefault-inline 457132718SkanC++ ObjC++ 458132718SkanInline member functions by default 459132718Skan 460132718Skanfdollars-in-identifiers 461132718SkanC ObjC C++ ObjC++ 462132718SkanPermit '$' as an identifier character 463132718Skan 464132718Skanfdump- 465132718SkanC ObjC C++ ObjC++ Joined RejectNegative 466132718Skan-fdump-<type> Dump various compiler internals to a file 467132718Skan 468132718Skanfelide-constructors 469132718SkanC++ ObjC++ 470132718Skan 471132718Skanfenforce-eh-specs 472132718SkanC++ ObjC++ 473132718SkanGenerate code to check exception specifications 474132718Skan 475132718Skanfenum-int-equiv 476132718SkanC++ ObjC++ 477132718Skan 478132718Skanfexec-charset= 479132718SkanC ObjC C++ ObjC++ Joined RejectNegative 480132718Skan-fexec-charset=<cset> Convert all strings and character constants to character set <cset> 481132718Skan 482132718Skanfinput-charset= 483132718SkanC ObjC C++ ObjC++ Joined RejectNegative 484132718Skan-finput-charset=<cset> Specify the default character set for source files. 485132718Skan 486132718Skan 487132718Skanfexternal-templates 488132718SkanC++ ObjC++ 489132718Skan 490132718Skanffixed-form 491132718SkanC ObjC 492132718Skan 493132718Skanffixed-line-length- 494132718SkanC ObjC Joined 495132718Skan 496132718Skanffor-scope 497132718SkanC++ ObjC++ 498132718SkanScope of for-init-statement variables is local to the loop 499132718Skan 500132718Skanffreestanding 501132718SkanC ObjC 502132718SkanDo not assume that standard C libraries and \"main\" exist 503132718Skan 504132718Skanfgnu-keywords 505132718SkanC++ ObjC++ 506132718SkanRecognize GNU-defined keywords 507132718Skan 508132718Skanfgnu-runtime 509132718SkanObjC ObjC++ 510132718SkanGenerate code for GNU runtime environment 511132718Skan 512132718Skanfguiding-decls 513132718SkanC++ ObjC++ 514132718Skan 515132718Skanfhandle-exceptions 516132718SkanC++ ObjC++ 517132718Skan 518132718Skanfhonor-std 519132718SkanC++ ObjC++ 520132718Skan 521132718Skanfhosted 522132718SkanC ObjC 523132718SkanAssume normal C execution environment 524132718Skan 525132718Skanfhuge-objects 526132718SkanC++ ObjC++ 527132718SkanEnable support for huge objects 528132718Skan 529132718Skanfimplement-inlines 530132718SkanC++ ObjC++ 531132718SkanExport functions even if they can be inlined 532132718Skan 533132718Skanfimplicit-inline-templates 534132718SkanC++ ObjC++ 535132718SkanEmit implicit instantiations of inline templates 536132718Skan 537132718Skanfimplicit-templates 538132718SkanC++ ObjC++ 539132718SkanEmit implicit instantiations of templates 540132718Skan 541132718Skanflabels-ok 542132718SkanC++ ObjC++ 543132718Skan 544132718Skanfms-extensions 545132718SkanC ObjC C++ ObjC++ 546132718SkanDon't warn about uses of Microsoft extensions 547132718Skan 548132718Skanfname-mangling-version- 549132718SkanC++ ObjC++ Joined 550132718Skan 551132718Skanfnew-abi 552132718SkanC++ ObjC++ 553132718Skan 554132718Skanfnext-runtime 555132718SkanObjC ObjC++ 556132718SkanGenerate code for NeXT (Apple Mac OS X) runtime environment 557132718Skan 558132718Skanfnil-receivers 559132718SkanObjC ObjC++ 560132718SkanAssume that receivers of Objective-C messages may be nil 561132718Skan 562132718Skanfnonansi-builtins 563132718SkanC++ ObjC++ 564132718Skan 565132718Skanfnonnull-objects 566132718SkanC++ ObjC++ 567132718Skan 568132718Skanfobjc-exceptions 569132718SkanObjC ObjC++ 570132718SkanEnable Objective-C exception and synchronization syntax 571132718Skan 572132718Skanfoperator-names 573132718SkanC++ ObjC++ 574132718SkanRecognize C++ kewords like \"compl\" and \"xor\" 575132718Skan 576132718Skanfoptional-diags 577132718SkanC++ ObjC++ 578132718SkanEnable optional diagnostics 579132718Skan 580132718Skanfpch-deps 581132718SkanC ObjC C++ ObjC++ 582132718Skan 583132718Skanfpermissive 584132718SkanC++ ObjC++ 585132718SkanDowngrade conformance errors to warnings 586132718Skan 587132718Skanfpreprocessed 588132718SkanC ObjC C++ ObjC++ 589132718SkanTreat the input file as already preprocessed 590132718Skan 591132718Skanfreplace-objc-classes 592132718SkanObjC ObjC++ 593132718SkanUsed in Fix-and-Continue mode to indicate that object files may be swapped in at runtime 594132718Skan 595132718Skanfrepo 596132718SkanC++ ObjC++ 597132718SkanEnable automatic template instantiation 598132718Skan 599132718Skanfrtti 600132718SkanC++ ObjC++ 601132718SkanGenerate run time type descriptor information 602132718Skan 603132718Skanfshort-double 604132718SkanC ObjC C++ ObjC++ 605132718SkanUse the same size for double as for float 606132718Skan 607132718Skanfshort-enums 608132718SkanC ObjC C++ ObjC++ 609132718SkanUse the narrowest integer type possible for enumeration types 610132718Skan 611132718Skanfshort-wchar 612132718SkanC ObjC C++ ObjC++ 613132718SkanForce the underlying type for \"wchar_t\" to be \"unsigned short\" 614132718Skan 615132718Skanfshow-column 616132718SkanC ObjC C++ ObjC++ 617132718Skan 618132718Skanfsigned-bitfields 619132718SkanC ObjC C++ ObjC++ 620132718SkanWhen \"signed\" or \"unsigned\" is not given make the bitfield signed 621132718Skan 622132718Skanfsigned-char 623132718SkanC ObjC C++ ObjC++ 624132718SkanMake \"char\" signed by default 625132718Skan 626132718Skanfsquangle 627132718SkanC++ ObjC++ 628132718Skan 629132718Skanfstats 630132718SkanC++ ObjC++ 631132718SkanDisplay statistics accumulated during compilation 632132718Skan 633132718Skanfstrict-prototype 634132718SkanC++ ObjC++ 635132718Skan 636132718Skanftabstop= 637132718SkanC ObjC C++ ObjC++ Joined RejectNegative UInteger 638132718Skan-ftabstop=<number> Distance between tab stops for column reporting 639132718Skan 640132718Skanftemplate-depth- 641132718SkanC++ ObjC++ Joined RejectNegative UInteger 642132718Skan-ftemplate-depth-<number> Specify maximum template instantiation depth 643132718Skan 644132718Skanfthis-is-variable 645132718SkanC++ ObjC++ 646132718Skan 647132718Skanfunsigned-bitfields 648132718SkanC ObjC C++ ObjC++ 649132718SkanWhen \"signed\" or \"unsigned\" is not given make the bitfield unsigned 650132718Skan 651132718Skanfunsigned-char 652132718SkanC ObjC C++ ObjC++ 653132718SkanMake \"char\" unsigned by default 654132718Skan 655132718Skanfuse-cxa-atexit 656132718SkanC++ ObjC++ 657132718SkanUse __cxa_atexit to register destructors 658132718Skan 659132718Skanfvtable-gc 660132718SkanC++ ObjC++ 661132718SkanDiscard unused virtual functions 662132718Skan 663132718Skanfvtable-thunks 664132718SkanC++ ObjC++ 665132718SkanImplement vtables using thunks 666132718Skan 667132718Skanfweak 668132718SkanC++ ObjC++ 669132718SkanEmit common-like symbols as weak symbols 670132718Skan 671132718Skanfwide-exec-charset= 672132718SkanC ObjC C++ ObjC++ Joined RejectNegative 673132718Skan-fwide-exec-charset=<cset> Convert all wide strings and character constants to character set <cset> 674132718Skan 675132718Skanfworking-directory 676132718SkanC ObjC C++ ObjC++ 677132718SkanGenerate a #line directive pointing at the current working directory 678132718Skan 679132718Skanfxref 680132718SkanC++ ObjC++ 681132718SkanEmit cross referencing information 682132718Skan 683132718Skanfzero-link 684132718SkanObjC ObjC++ 685132718SkanGenerate lazy class lookup (via objc_getClass()) for use in Zero-Link mode 686132718Skan 687132718Skangen-decls 688132718SkanObjC ObjC++ 689132718SkanDump declarations to a .decl file 690132718Skan 691132718Skanidirafter 692132718SkanC ObjC C++ ObjC++ Joined Separate 693132718Skan-idirafter <dir> Add <dir> to the end of the system include path 694132718Skan 695132718Skanimacros 696132718SkanC ObjC C++ ObjC++ Joined Separate 697132718Skan-imacros <file> Accept definition of macros in <file> 698132718Skan 699132718Skaninclude 700132718SkanC ObjC C++ ObjC++ Joined Separate 701132718Skan-include <file> Include the contents of <file> before other files 702132718Skan 703132718Skaniprefix 704132718SkanC ObjC C++ ObjC++ Joined Separate 705132718Skan-iprefix <path> Specify <path> as a prefix for next two options 706132718Skan 707132718Skanisysroot 708132718SkanC ObjC C++ ObjC++ Joined Separate 709132718Skan-isysroot <dir> Set <dir> to be the system root directory 710132718Skan 711132718Skanisystem 712132718SkanC ObjC C++ ObjC++ Joined Separate 713132718Skan-isystem <dir> Add <dir> to the start of the system include path 714132718Skan 715132718Skaniwithprefix 716132718SkanC ObjC C++ ObjC++ Joined Separate 717132718Skan-iwithprefix <dir> Add <dir> to the end of the system include path 718132718Skan 719132718Skaniwithprefixbefore 720132718SkanC ObjC C++ ObjC++ Joined Separate 721132718Skan-iwithprefixbefore <dir> Add <dir> to the end of the main include path 722132718Skan 723132718Skanlang-asm 724132718SkanC Undocumented 725132718Skan 726132718Skanlang-objc 727132718SkanC ObjC C++ ObjC++ Undocumented 728132718Skan 729132718Skannostdinc 730132718SkanC ObjC C++ ObjC++ 731132718SkanDo not search standard system include directories (those specified with -isystem will still be used) 732132718Skan 733132718Skannostdinc++ 734132718SkanC++ ObjC++ 735132718SkanDo not search standard system include directories for C++ 736132718Skan 737132718Skano 738132718SkanC ObjC C++ ObjC++ Joined Separate 739132718Skan; Documented in common.opt 740132718Skan 741132718Skanpedantic 742132718SkanC ObjC C++ ObjC++ 743132718Skan; Documented in common.opt 744132718Skan 745132718Skanpedantic-errors 746132718SkanC ObjC C++ ObjC++ 747132718Skan; Documented in common.opt 748132718Skan 749132718Skanprint-objc-runtime-info 750132718SkanObjC ObjC++ 751132718SkanGenerate C header of platform-specific features 752132718Skan 753132718Skanremap 754132718SkanC ObjC C++ ObjC++ 755132718SkanRemap file names when including files 756132718Skan 757132718Skanstd=c++98 758132718SkanC++ ObjC++ 759132718SkanConform to the ISO 1998 C++ standard 760132718Skan 761132718Skanstd=c89 762132718SkanC ObjC 763132718SkanConform to the ISO 1990 C standard 764132718Skan 765132718Skanstd=c99 766132718SkanC ObjC 767132718SkanConform to the ISO 1999 C standard 768132718Skan 769132718Skanstd=c9x 770132718SkanC ObjC 771132718SkanDeprecated in favor of -std=c99 772132718Skan 773132718Skanstd=gnu++98 774132718SkanC++ ObjC++ 775132718SkanConform to the ISO 1998 C++ standard with GNU extensions 776132718Skan 777132718Skanstd=gnu89 778132718SkanC ObjC 779132718SkanConform to the ISO 1990 C standard with GNU extensions 780132718Skan 781132718Skanstd=gnu99 782132718SkanC ObjC 783132718SkanConform to the ISO 1999 C standard with GNU extensions 784132718Skan 785132718Skanstd=gnu9x 786132718SkanC ObjC 787132718SkanDeprecated in favor of -std=gnu99 788132718Skan 789132718Skanstd=iso9899:1990 790132718SkanC ObjC 791132718SkanDeprecated in favor of -std=c89 792132718Skan 793132718Skanstd=iso9899:199409 794132718SkanC ObjC 795132718SkanConform to the ISO 1990 C standard as amended in 1994 796132718Skan 797132718Skanstd=iso9899:1999 798132718SkanC ObjC 799132718SkanDeprecated in favor of -std=c99 800132718Skan 801132718Skanstd=iso9899:199x 802132718SkanC ObjC 803132718SkanDeprecated in favor of -std=c99 804132718Skan 805132718Skantraditional-cpp 806132718SkanC ObjC C++ ObjC++ 807132718SkanEnable traditional preprocessing 808132718Skan 809132718Skantrigraphs 810132718SkanC ObjC C++ ObjC++ 811132718Skan-trigraphs Support ISO C trigraphs 812132718Skan 813132718Skanundef 814132718SkanC ObjC C++ ObjC++ 815132718SkanDo not predefine system-specific and GCC-specific macros 816132718Skan 817132718Skanv 818132718SkanC ObjC C++ ObjC++ 819132718SkanEnable verbose output 820132718Skan 821132718Skanw 822132718SkanC ObjC C++ ObjC++ 823132718Skan; Documented in common.opt 824132718Skan 825132718Skan; This comment is to ensure we retain the blank line above. 826