c.opt revision 261188
1107735Schris; Options for the C, ObjC, C++ and ObjC++ front ends. 2107735Schris; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 3115211Sru; 4108937Schris; This file is part of GCC. 5108937Schris; 6108937Schris; GCC is free software; you can redistribute it and/or modify it under 7107735Schris; the terms of the GNU General Public License as published by the Free 8107735Schris; Software Foundation; either version 2, or (at your option) any later 9115211Sru; version. 10107735Schris; 11107735Schris; GCC is distributed in the hope that it will be useful, but WITHOUT ANY 12107735Schris; WARRANTY; without even the implied warranty of MERCHANTABILITY or 13107735Schris; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14107735Schris; for more details. 15107735Schris; 16107735Schris; You should have received a copy of the GNU General Public License 17107735Schris; along with GCC; see the file COPYING. If not, write to the Free 18115211Sru; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 19107735Schris; 02110-1301, USA. 20107735Schris 21107735Schris; See the GCC internals manual for a description of this file's format. 22107735Schris 23107735Schris; $FreeBSD: stable/10/contrib/gcc/c.opt 261188 2014-01-26 19:49:54Z pfg $ 24107735Schris; Please try to keep this file in ASCII collating order. 25107735Schris 26107735SchrisLanguage 27107735SchrisC 28107735Schris 29107735SchrisLanguage 30115211SruObjC 31107735Schris 32115643SruLanguage 33115643SruC++ 34206622Suqs 35107735SchrisLanguage 36107735SchrisObjC++ 37107735Schris 38115643Sru-output-pch= 39107735SchrisC ObjC C++ ObjC++ Joined Separate 40107735Schris 41107735SchrisA 42107735SchrisC ObjC C++ ObjC++ Joined Separate 43115643Sru-A<question>=<answer> Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question> 44107735Schris 45107735SchrisC 46115643SruC ObjC C++ ObjC++ 47107735SchrisDo not discard comments 48107735Schris 49107735SchrisCC 50115643SruC ObjC C++ ObjC++ 51107735SchrisDo not discard comments in macro expansions 52115643Sru 53107735SchrisD 54107735SchrisC ObjC C++ ObjC++ Joined Separate 55107735Schris-D<macro>[=<val>] Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1 56115643Sru 57115643SruE 58115643SruC ObjC C++ ObjC++ Undocumented 59107735Schris 60107735SchrisF 61107735SchrisC ObjC C++ ObjC++ Joined Separate 62107735Schris-F <dir> Add <dir> to the end of the main framework include path 63107735Schris 64115643SruH 65107735SchrisC ObjC C++ ObjC++ 66107735SchrisPrint the name of header files as they are used 67107735Schris 68107735SchrisI 69107735SchrisC ObjC C++ ObjC++ Joined Separate 70107735Schris-I <dir> Add <dir> to the end of the main include path 71107735Schris 72115643SruM 73107735SchrisC ObjC C++ ObjC++ 74107735SchrisGenerate make dependencies 75107735Schris 76115643SruMD 77115643SruC ObjC C++ ObjC++ Separate 78115643SruGenerate make dependencies and compile 79107735Schris 80107735SchrisMF 81115643SruC ObjC C++ ObjC++ Joined Separate 82107735Schris-MF <file> Write dependency output to the given file 83115643Sru 84107735SchrisMG 85107736SchrisC ObjC C++ ObjC++ 86107735SchrisTreat missing header files as generated files 87107735Schris 88107735SchrisMM 89107735SchrisC ObjC C++ ObjC++ 90107735SchrisLike -M but ignore system header files 91109271Schris 92107735SchrisMMD 93107735SchrisC ObjC C++ ObjC++ Separate 94107735SchrisLike -MD but ignore system header files 95108934Schris 96107735SchrisMP 97107735SchrisC ObjC C++ ObjC++ 98112860SchrisGenerate phony targets for all headers 99107735Schris 100107735SchrisMQ 101108111SchrisC ObjC C++ ObjC++ Joined Separate 102107735Schris-MQ <target> Add a MAKE-quoted target 103107735Schris 104107735SchrisMT 105107735SchrisC ObjC C++ ObjC++ Joined Separate 106107735Schris-MT <target> Add an unquoted target 107107735Schris 108115643SruP 109115643SruC ObjC C++ ObjC++ 110115643SruDo not generate #line directives 111107735Schris 112107735SchrisU 113107735SchrisC ObjC C++ ObjC++ Joined Separate 114107735Schris-U<macro> Undefine <macro> 115107735Schris 116131530SruWabi 117131530SruC++ ObjC++ Var(warn_abi) 118115643SruWarn about things that will change when compiling with an ABI-compliant compiler 119107735Schris 120107735SchrisWaddress 121107735SchrisC ObjC C++ ObjC++ Var(warn_address) 122107735SchrisWarn about suspicious uses of memory addresses 123107735Schris 124115643SruWall 125115643SruC ObjC C++ ObjC++ 126115643SruEnable most warning messages 127107735Schris 128107735SchrisWassign-intercept 129115211SruObjC ObjC++ Var(warn_assign_intercept) 130107735SchrisWarn whenever an Objective-C assignment is being intercepted by the garbage collector 131107735Schris 132107735SchrisWbad-function-cast 133107735SchrisC ObjC Var(warn_bad_function_cast) 134Warn about casting functions to incompatible types 135 136Wc++-compat 137C ObjC Var(warn_cxx_compat) 138Warn about C constructs that are not in the common subset of C and C++ 139 140 141Wcast-qual 142C ObjC C++ ObjC++ Var(warn_cast_qual) 143Warn about casts which discard qualifiers 144 145Wchar-subscripts 146C ObjC C++ ObjC++ Var(warn_char_subscripts) 147Warn about subscripts whose type is \"char\" 148 149Wcomment 150C ObjC C++ ObjC++ 151Warn about possibly nested block comments, and C++ comments spanning more than one physical line 152 153Wcomments 154C ObjC C++ ObjC++ 155Synonym for -Wcomment 156 157Wconversion 158C ObjC C++ ObjC++ Var(warn_conversion) 159Warn about possibly confusing type conversions 160 161Wctor-dtor-privacy 162C++ ObjC++ Var(warn_ctor_dtor_privacy) 163Warn when all constructors and destructors are private 164 165Wdeclaration-after-statement 166C ObjC Var(warn_declaration_after_statement) 167Warn when a declaration is found after a statement 168 169Wdeprecated 170C++ ObjC++ Var(warn_deprecated) Init(1) 171Warn about deprecated compiler features 172 173Wdiv-by-zero 174C ObjC C++ ObjC++ Var(warn_div_by_zero) Init(1) 175Warn about compile-time integer division by zero 176 177Weffc++ 178C++ ObjC++ Var(warn_ecpp) 179Warn about violations of Effective C++ style rules 180 181Wendif-labels 182C ObjC C++ ObjC++ 183Warn about stray tokens after #elif and #endif 184 185Werror 186C ObjC C++ ObjC++ 187; Documented in common.opt 188 189Werror-implicit-function-declaration 190C ObjC RejectNegative 191Make implicit function declarations an error 192 193Wfloat-equal 194C ObjC C++ ObjC++ Var(warn_float_equal) 195Warn if testing floating point numbers for equality 196 197Wformat 198C ObjC C++ ObjC++ 199Warn about printf/scanf/strftime/strfmon format string anomalies 200 201Wformat-extra-args 202C ObjC C++ ObjC++ Var(warn_format_extra_args) 203Warn if passing too many arguments to a function for its format string 204 205Wformat-nonliteral 206C ObjC C++ ObjC++ Var(warn_format_nonliteral) 207Warn about format strings that are not literals 208 209Wformat-security 210C ObjC C++ ObjC++ Var(warn_format_security) 211Warn about possible security problems with format functions 212 213Wformat-y2k 214C ObjC C++ ObjC++ Var(warn_format_y2k) 215Warn about strftime formats yielding 2-digit years 216 217Wformat-zero-length 218C ObjC Var(warn_format_zero_length) 219Warn about zero-length formats 220 221Wformat= 222C ObjC C++ ObjC++ Joined 223 224Winit-self 225C ObjC C++ ObjC++ Var(warn_init_self) 226Warn about variables which are initialized to themselves 227 228Wimplicit 229C ObjC C++ ObjC++ 230 231Wimplicit-function-declaration 232C ObjC Var(mesg_implicit_function_declaration) Init(-1) 233Warn about implicit function declarations 234 235Wimplicit-int 236C ObjC Var(warn_implicit_int) 237Warn when a declaration does not specify a type 238 239Wimport 240C ObjC C++ ObjC++ 241Deprecated. This switch has no effect 242 243Wint-to-pointer-cast 244C ObjC Var(warn_int_to_pointer_cast) Init(1) 245Warn when there is a cast to a pointer from an integer of a different size 246 247Winvalid-offsetof 248C++ ObjC++ Var(warn_invalid_offsetof) Init(1) 249Warn about invalid uses of the \"offsetof\" macro 250 251Winvalid-pch 252C ObjC C++ ObjC++ 253Warn about PCH files that are found but not used 254 255Wlong-long 256C ObjC C++ ObjC++ Var(warn_long_long) Init(1) 257Do not warn about using \"long long\" when -pedantic 258 259Wmain 260C ObjC 261Warn about suspicious declarations of \"main\" 262 263Wmissing-braces 264C ObjC C++ ObjC++ Var(warn_missing_braces) 265Warn about possibly missing braces around initializers 266 267Wmissing-declarations 268C ObjC Var(warn_missing_declarations) 269Warn about global functions without previous declarations 270 271Wmissing-field-initializers 272C ObjC C++ ObjC++ Var(warn_missing_field_initializers) Init(-1) 273Warn about missing fields in struct initializers 274 275Wmissing-format-attribute 276C ObjC C++ ObjC++ Var(warn_missing_format_attribute) 277Warn about functions which might be candidates for format attributes 278 279Wmissing-include-dirs 280C ObjC C++ ObjC++ 281Warn about user-specified include directories that do not exist 282 283Wmissing-prototypes 284C ObjC Var(warn_missing_prototypes) 285Warn about global functions without prototypes 286 287; APPLE LOCAL begin -Wmost 288Wmost 289C ObjC C++ ObjC++ 290Like -Wall but without -Wparentheses 291; APPLE LOCAL end -Wmost 292 293Wmultichar 294C ObjC C++ ObjC++ 295Warn about use of multi-character character constants 296 297Wnested-externs 298C ObjC Var(warn_nested_externs) 299Warn about \"extern\" declarations not at file scope 300 301; APPLE LOCAL begin -Wnewline-eof 302Wnewline-eof 303C ObjC C++ ObjC++ 304Warn about files missing a newline at the end of the file 305; APPLE LOCAL end -Wnewline-eof 306 307Wnon-template-friend 308C++ ObjC++ Var(warn_nontemplate_friend) Init(1) 309Warn when non-templatized friend functions are declared within a template 310 311Wnon-virtual-dtor 312C++ ObjC++ Var(warn_nonvdtor) 313Warn about non-virtual destructors 314 315Wnonnull 316C ObjC Var(warn_nonnull) 317Warn about NULL being passed to argument slots marked as requiring non-NULL 318 319Wnormalized= 320C ObjC C++ ObjC++ Joined 321-Wnormalized=<id|nfc|nfkc> Warn about non-normalised Unicode strings 322 323Wold-style-cast 324C++ ObjC++ Var(warn_old_style_cast) 325Warn if a C-style cast is used in a program 326 327Wold-style-definition 328C ObjC Var(warn_old_style_definition) 329Warn if an old-style parameter definition is used 330 331Woverlength-strings 332C ObjC C++ ObjC++ Var(warn_overlength_strings) Init(-1) 333Warn if a string is longer than the maximum portable length specified by the standard 334 335Woverloaded-virtual 336C++ ObjC++ Var(warn_overloaded_virtual) 337Warn about overloaded virtual function names 338 339Woverride-init 340C ObjC Var(warn_override_init) Init(-1) 341Warn about overriding initializers without side effects 342 343Wparentheses 344C ObjC C++ ObjC++ Var(warn_parentheses) 345Warn about possibly missing parentheses 346 347Wpmf-conversions 348C++ ObjC++ Var(warn_pmf2ptr) Init(1) 349Warn when converting the type of pointers to member functions 350 351Wpointer-arith 352C ObjC C++ ObjC++ Var(warn_pointer_arith) 353Warn about function pointer arithmetic 354 355Wpointer-to-int-cast 356C ObjC Var(warn_pointer_to_int_cast) Init(1) 357Warn when a pointer is cast to an integer of a different size 358 359Wpragmas 360C ObjC C++ ObjC++ Var(warn_pragmas) Init(1) 361Warn about misuses of pragmas 362 363Wprotocol 364ObjC ObjC++ Var(warn_protocol) Init(1) 365Warn if inherited methods are unimplemented 366 367Wredundant-decls 368C ObjC C++ ObjC++ Var(warn_redundant_decls) 369Warn about multiple declarations of the same object 370 371Wreorder 372C++ ObjC++ Var(warn_reorder) 373Warn when the compiler reorders code 374 375Wreturn-type 376C ObjC C++ ObjC++ Var(warn_return_type) 377Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++) 378 379Wselector 380ObjC ObjC++ Var(warn_selector) 381Warn if a selector has multiple methods 382 383Wsequence-point 384C ObjC C++ ObjC++ Var(warn_sequence_point) 385Warn about possible violations of sequence point rules 386 387Wsign-compare 388C ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1) 389Warn about signed-unsigned comparisons 390 391Wsign-promo 392C++ ObjC++ Var(warn_sign_promo) 393Warn when overload promotes from unsigned to signed 394 395Wstrict-null-sentinel 396C++ ObjC++ 397Warn about uncasted NULL used as sentinel 398 399Wstrict-prototypes 400C ObjC Var(warn_strict_prototypes) 401Warn about unprototyped function declarations 402 403Wstrict-selector-match 404ObjC ObjC++ Var(warn_strict_selector_match) 405Warn if type signatures of candidate methods do not match exactly 406 407Wsynth 408C++ ObjC++ Var(warn_synth) 409Warn when synthesis behavior differs from Cfront 410 411Wsystem-headers 412C ObjC C++ ObjC++ 413Do not suppress warnings from system headers 414 415Wtraditional 416C ObjC Var(warn_traditional) 417Warn about features not present in traditional C 418 419Wtrampolines 420Common Var(warn_trampolines) 421Warn when trampolines are emitted 422 423Wtrigraphs 424C ObjC C++ ObjC++ 425Warn if trigraphs are encountered that might affect the meaning of the program 426 427Wundeclared-selector 428ObjC ObjC++ Var(warn_undeclared_selector) 429Warn about @selector()s without previously declared methods 430 431Wundef 432C ObjC C++ ObjC++ 433Warn if an undefined macro is used in an #if directive 434 435Wunknown-pragmas 436C ObjC C++ ObjC++ 437Warn about unrecognized pragmas 438 439Wunused-macros 440C ObjC C++ ObjC++ 441Warn about macros defined in the main file that are not used 442 443Wvariadic-macros 444C ObjC C++ ObjC++ 445Do not warn about using variadic macros when -pedantic 446 447Wvla 448C ObjC C++ ObjC++ Var(warn_vla) Init(-1) Warning 449Warn if a variable length array is used 450 451Wwrite-strings 452C ObjC C++ ObjC++ Var(warn_write_strings) 453In 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. 454 455Wpointer-sign 456C ObjC Var(warn_pointer_sign) Init(-1) 457Warn when a pointer differs in signedness in an assignment 458 459ansi 460C ObjC C++ ObjC++ 461A synonym for -std=c89 (for C) or -std=c++98 (for C++) 462 463d 464C ObjC C++ ObjC++ Joined 465; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD? 466 467faccess-control 468C++ ObjC++ 469Enforce class member access control semantics 470 471fall-virtual 472C++ ObjC++ 473 474falt-external-templates 475C++ ObjC++ 476Change when template instances are emitted 477 478fasm 479C ObjC C++ ObjC++ 480Recognize the \"asm\" keyword 481 482fbuiltin 483C ObjC C++ ObjC++ 484Recognize built-in functions 485 486fbuiltin- 487C ObjC C++ ObjC++ Joined 488 489fcheck-new 490C++ ObjC++ 491Check the return value of new 492 493fcond-mismatch 494C ObjC C++ ObjC++ 495Allow the arguments of the '?' operator to have different types 496 497fconserve-space 498C++ ObjC++ 499Reduce the size of object files 500 501fconstant-string-class= 502ObjC ObjC++ Joined 503-fconst-string-class=<name> Use class <name> for constant strings 504 505fdefault-inline 506C++ ObjC++ 507Inline member functions by default 508 509fdirectives-only 510C ObjC C++ ObjC++ 511Preprocess directives only. 512 513fdollars-in-identifiers 514C ObjC C++ ObjC++ 515Permit '$' as an identifier character 516 517felide-constructors 518C++ ObjC++ 519 520fenforce-eh-specs 521C++ ObjC++ 522Generate code to check exception specifications 523 524fenum-int-equiv 525C++ ObjC++ 526 527fexec-charset= 528C ObjC C++ ObjC++ Joined RejectNegative 529-fexec-charset=<cset> Convert all strings and character constants to character set <cset> 530 531fextended-identifiers 532C ObjC C++ ObjC++ 533Permit universal character names (\\u and \\U) in identifiers 534 535finput-charset= 536C ObjC C++ ObjC++ Joined RejectNegative 537-finput-charset=<cset> Specify the default character set for source files 538 539 540fexternal-templates 541C++ ObjC++ 542 543ffor-scope 544C++ ObjC++ 545Scope of for-init-statement variables is local to the loop 546 547ffreestanding 548C ObjC 549Do not assume that standard C libraries and \"main\" exist 550 551fgnu-keywords 552C++ ObjC++ 553Recognize GNU-defined keywords 554 555fgnu-runtime 556ObjC ObjC++ 557Generate code for GNU runtime environment 558 559fgnu89-inline 560C ObjC Var(flag_gnu89_inline) Init(-1) 561Use traditional GNU semantics for inline functions 562 563fguiding-decls 564C++ ObjC++ 565 566fhandle-exceptions 567C++ ObjC++ 568 569fhonor-std 570C++ ObjC++ 571 572fhosted 573C ObjC 574Assume normal C execution environment 575 576fhuge-objects 577C++ ObjC++ 578Enable support for huge objects 579 580fimplement-inlines 581C++ ObjC++ 582Export functions even if they can be inlined 583 584fimplicit-inline-templates 585C++ ObjC++ 586Emit implicit instantiations of inline templates 587 588fimplicit-templates 589C++ ObjC++ 590Emit implicit instantiations of templates 591 592ffriend-injection 593C++ ObjC++ Var(flag_friend_injection) 594Inject friend functions into enclosing namespace 595 596flabels-ok 597C++ ObjC++ 598 599flax-vector-conversions 600C ObjC C++ ObjC++ 601Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types. 602 603fms-extensions 604C ObjC C++ ObjC++ 605Don't warn about uses of Microsoft extensions 606 607fname-mangling-version- 608C++ ObjC++ Joined 609 610fnew-abi 611C++ ObjC++ 612 613; APPLE LOCAL begin nested functions 4258406 4357979 614fnested-functions 615C ObjC Var(flag_nested_functions) 616Allow nested functions. 617; APPLE LOCAL end nested functions 4258406 4357979 618 619fnext-runtime 620ObjC ObjC++ 621Generate code for NeXT (Apple Mac OS X) runtime environment 622 623fnil-receivers 624ObjC ObjC++ 625Assume that receivers of Objective-C messages may be nil 626 627fnonansi-builtins 628C++ ObjC++ 629 630fnonnull-objects 631C++ ObjC++ 632 633; Generate special '- .cxx_construct' and '- .cxx_destruct' methods 634; to initialize any non-POD ivars in Objective-C++ classes. 635fobjc-call-cxx-cdtors 636ObjC++ Var(flag_objc_call_cxx_cdtors) 637Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed 638 639fobjc-direct-dispatch 640ObjC ObjC++ Var(flag_objc_direct_dispatch) 641Allow fast jumps to the message dispatcher 642 643; Nonzero means that we will allow new ObjC exception syntax (@throw, 644; @try, etc.) in source code. 645fobjc-exceptions 646ObjC ObjC++ Var(flag_objc_exceptions) 647Enable Objective-C exception and synchronization syntax 648 649fobjc-gc 650ObjC ObjC++ Var(flag_objc_gc) 651Enable garbage collection (GC) in Objective-C/Objective-C++ programs 652 653; APPLE LOCAL begin radar 5811887 - blocks 654fblocks 655C ObjC C++ ObjC++ Var(flag_blocks) Init(-1) 656Program supports c/objc extension blocks 657; APPLE LOCAL end radar 5811887 - blocks 658 659; Nonzero means that we generate NeXT setjmp based exceptions. 660fobjc-sjlj-exceptions 661ObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1) 662Enable Objective-C setjmp exception handling runtime 663 664fopenmp 665C ObjC C++ ObjC++ Var(flag_openmp) 666Enable OpenMP 667 668foperator-names 669C++ ObjC++ 670Recognize C++ kewords like \"compl\" and \"xor\" 671 672foptional-diags 673C++ ObjC++ 674Enable optional diagnostics 675 676fpch-deps 677C ObjC C++ ObjC++ 678 679fpch-preprocess 680C ObjC C++ ObjC++ 681Look for and use PCH files even when preprocessing 682 683fpermissive 684C++ ObjC++ 685Downgrade conformance errors to warnings 686 687fpreprocessed 688C ObjC C++ ObjC++ 689Treat the input file as already preprocessed 690 691freplace-objc-classes 692ObjC ObjC++ 693Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime 694 695frepo 696C++ ObjC++ 697Enable automatic template instantiation 698 699frtti 700C++ ObjC++ 701Generate run time type descriptor information 702 703fshort-double 704C ObjC C++ ObjC++ 705Use the same size for double as for float 706 707fshort-enums 708C ObjC C++ ObjC++ 709Use the narrowest integer type possible for enumeration types 710 711fshort-wchar 712C ObjC C++ ObjC++ 713Force the underlying type for \"wchar_t\" to be \"unsigned short\" 714 715fsigned-bitfields 716C ObjC C++ ObjC++ 717When \"signed\" or \"unsigned\" is not given make the bitfield signed 718 719fsigned-char 720C ObjC C++ ObjC++ 721Make \"char\" signed by default 722 723fsquangle 724C++ ObjC++ 725 726fstats 727C++ ObjC++ 728Display statistics accumulated during compilation 729 730fstrict-prototype 731C++ ObjC++ 732 733ftabstop= 734C ObjC C++ ObjC++ Joined RejectNegative UInteger 735-ftabstop=<number> Distance between tab stops for column reporting 736 737ftemplate-depth- 738C++ ObjC++ Joined RejectNegative UInteger 739-ftemplate-depth-<number> Specify maximum template instantiation depth 740 741fthis-is-variable 742C++ ObjC++ 743 744fthreadsafe-statics 745C++ ObjC++ 746-fno-threadsafe-statics Do not generate thread-safe code for initializing local statics 747 748funsigned-bitfields 749C ObjC C++ ObjC++ 750When \"signed\" or \"unsigned\" is not given make the bitfield unsigned 751 752funsigned-char 753C ObjC C++ ObjC++ 754Make \"char\" unsigned by default 755 756fuse-cxa-atexit 757C++ ObjC++ 758Use __cxa_atexit to register destructors 759 760fuse-cxa-get-exception-ptr 761C++ ObjC++ 762Use __cxa_get_exception_ptr in exception handling 763 764fvisibility-inlines-hidden 765C++ ObjC++ 766Marks all inlined methods as having hidden visibility 767 768fvisibility-ms-compat 769C++ ObjC++ Var(flag_visibility_ms_compat) 770Changes visibility to match Microsoft Visual Studio by default 771 772fvtable-gc 773C++ ObjC++ 774Discard unused virtual functions 775 776fvtable-thunks 777C++ ObjC++ 778Implement vtables using thunks 779 780fweak 781C++ ObjC++ 782Emit common-like symbols as weak symbols 783 784fwide-exec-charset= 785C ObjC C++ ObjC++ Joined RejectNegative 786-fwide-exec-charset=<cset> Convert all wide strings and character constants to character set <cset> 787 788fworking-directory 789C ObjC C++ ObjC++ 790Generate a #line directive pointing at the current working directory 791 792fxref 793C++ ObjC++ 794Emit cross referencing information 795 796fzero-link 797ObjC ObjC++ 798Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode 799 800gen-decls 801ObjC ObjC++ 802Dump declarations to a .decl file 803 804femit-struct-debug-baseonly 805C ObjC C++ ObjC++ 806-femit-struct-debug-baseonly Aggressive reduced debug info for structs 807 808femit-struct-debug-reduced 809C ObjC C++ ObjC++ 810-femit-struct-debug-reduced Conservative reduced debug info for structs 811 812femit-struct-debug-detailed= 813C ObjC C++ ObjC++ Joined 814-femit-struct-debug-detailed=<spec-list> Detailed reduced debug info for structs 815 816idirafter 817C ObjC C++ ObjC++ Joined Separate 818-idirafter <dir> Add <dir> to the end of the system include path 819 820imacros 821C ObjC C++ ObjC++ Joined Separate 822-imacros <file> Accept definition of macros in <file> 823 824imultilib 825C ObjC C++ ObjC++ Joined Separate 826-imultilib <dir> Set <dir> to be the multilib include subdirectory 827 828include 829C ObjC C++ ObjC++ Joined Separate 830-include <file> Include the contents of <file> before other files 831 832iprefix 833C ObjC C++ ObjC++ Joined Separate 834-iprefix <path> Specify <path> as a prefix for next two options 835 836isysroot 837C ObjC C++ ObjC++ Joined Separate 838-isysroot <dir> Set <dir> to be the system root directory 839 840isystem 841C ObjC C++ ObjC++ Joined Separate 842-isystem <dir> Add <dir> to the start of the system include path 843 844iquote 845C ObjC C++ ObjC++ Joined Separate 846-iquote <dir> Add <dir> to the end of the quote include path 847 848iwithprefix 849C ObjC C++ ObjC++ Joined Separate 850-iwithprefix <dir> Add <dir> to the end of the system include path 851 852iwithprefixbefore 853C ObjC C++ ObjC++ Joined Separate 854-iwithprefixbefore <dir> Add <dir> to the end of the main include path 855 856lang-asm 857C Undocumented 858 859lang-fortran 860C Undocumented 861 862lang-objc 863C ObjC C++ ObjC++ Undocumented 864 865nostdinc 866C ObjC C++ ObjC++ 867Do not search standard system include directories (those specified with -isystem will still be used) 868 869nostdinc++ 870C++ ObjC++ 871Do not search standard system include directories for C++ 872 873o 874C ObjC C++ ObjC++ Joined Separate 875; Documented in common.opt 876 877pedantic 878C ObjC C++ ObjC++ 879; Documented in common.opt 880 881pedantic-errors 882C ObjC C++ ObjC++ 883; Documented in common.opt 884 885print-objc-runtime-info 886ObjC ObjC++ 887Generate C header of platform-specific features 888 889print-pch-checksum 890C ObjC C++ ObjC++ 891Print a checksum of the executable for PCH validity checking, and stop 892 893remap 894C ObjC C++ ObjC++ 895Remap file names when including files 896 897std=c++98 898C++ ObjC++ 899Conform to the ISO 1998 C++ standard 900 901std=c89 902C ObjC 903Conform to the ISO 1990 C standard 904 905std=c99 906C ObjC 907Conform to the ISO 1999 C standard 908 909std=c9x 910C ObjC 911Deprecated in favor of -std=c99 912 913std=gnu++98 914C++ ObjC++ 915Conform to the ISO 1998 C++ standard with GNU extensions 916 917std=gnu89 918C ObjC 919Conform to the ISO 1990 C standard with GNU extensions 920 921std=gnu99 922C ObjC 923Conform to the ISO 1999 C standard with GNU extensions 924 925std=gnu9x 926C ObjC 927Deprecated in favor of -std=gnu99 928 929std=iso9899:1990 930C ObjC 931Conform to the ISO 1990 C standard 932 933std=iso9899:199409 934C ObjC 935Conform to the ISO 1990 C standard as amended in 1994 936 937std=iso9899:1999 938C ObjC 939Conform to the ISO 1999 C standard 940 941std=iso9899:199x 942C ObjC 943Deprecated in favor of -std=iso9899:1999 944 945traditional-cpp 946C ObjC C++ ObjC++ 947Enable traditional preprocessing 948 949trigraphs 950C ObjC C++ ObjC++ 951-trigraphs Support ISO C trigraphs 952 953undef 954C ObjC C++ ObjC++ 955Do not predefine system-specific and GCC-specific macros 956 957v 958C ObjC C++ ObjC++ 959Enable verbose output 960 961w 962C ObjC C++ ObjC++ 963; Documented in common.opt 964 965; This comment is to ensure we retain the blank line above. 966