1306196Sjkim; Options for the C, ObjC, C++ and ObjC++ front ends. 2110010Smarkm; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 3110010Smarkm; 4142429Snectar; This file is part of GCC. 5110010Smarkm; 6110010Smarkm; GCC is free software; you can redistribute it and/or modify it under 7110010Smarkm; the terms of the GNU General Public License as published by the Free 8110010Smarkm; Software Foundation; either version 2, or (at your option) any later 9110010Smarkm; version. 10110010Smarkm; 11110010Smarkm; GCC is distributed in the hope that it will be useful, but WITHOUT ANY 12110010Smarkm; WARRANTY; without even the implied warranty of MERCHANTABILITY or 13110010Smarkm; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14110010Smarkm; for more details. 15110010Smarkm; 16110010Smarkm; You should have received a copy of the GNU General Public License 17110010Smarkm; along with GCC; see the file COPYING. If not, write to the Free 18110010Smarkm; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 19110010Smarkm; 02110-1301, USA. 20215698Ssimon 21215698Ssimon; See the GCC internals manual for a description of this file's format. 22215698Ssimon 23215698Ssimon; Please try to keep this file in ASCII collating order. 24215698Ssimon 25110010SmarkmLanguage 26110010SmarkmC 27110010Smarkm 28110010SmarkmLanguage 29110010SmarkmObjC 30110010Smarkm 31110010SmarkmLanguage 32110010SmarkmC++ 33110010Smarkm 34110010SmarkmLanguage 35110010SmarkmObjC++ 36110010Smarkm 37110010Smarkm-output-pch= 38110010SmarkmC ObjC C++ ObjC++ Joined Separate 39110010Smarkm 40110010SmarkmA 41276864SjkimC ObjC C++ ObjC++ Joined Separate 42276864Sjkim-A<question>=<answer> Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question> 43110010Smarkm 44110010SmarkmC 45215698SsimonC ObjC C++ ObjC++ 46215698SsimonDo not discard comments 47215698Ssimon 48215698SsimonCC 49142429SnectarC ObjC C++ ObjC++ 50215698SsimonDo not discard comments in macro expansions 51142429Snectar 52142429SnectarD 53276864SjkimC ObjC C++ ObjC++ Joined Separate 54276864Sjkim-D<macro>[=<val>] Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1 55276864Sjkim 56110010SmarkmE 57276864SjkimC ObjC C++ ObjC++ Undocumented 58276864Sjkim 59276864SjkimF 60276864SjkimC ObjC C++ ObjC++ Joined Separate 61276864Sjkim-F <dir> Add <dir> to the end of the main framework include path 62276864Sjkim 63215698SsimonH 64276864SjkimC ObjC C++ ObjC++ 65276864SjkimPrint the name of header files as they are used 66276864Sjkim 67276864SjkimI 68276864SjkimC ObjC C++ ObjC++ Joined Separate 69215698Ssimon-I <dir> Add <dir> to the end of the main include path 70276864Sjkim 71110010SmarkmM 72110010SmarkmC ObjC C++ ObjC++ 73110010SmarkmGenerate make dependencies 74110010Smarkm 75110010SmarkmMD 76110010SmarkmC ObjC C++ ObjC++ Separate 77110010SmarkmGenerate make dependencies and compile 78110010Smarkm 79110010SmarkmMF 80110010SmarkmC ObjC C++ ObjC++ Joined Separate 81110010Smarkm-MF <file> Write dependency output to the given file 82110010Smarkm 83110010SmarkmMG 84110010SmarkmC ObjC C++ ObjC++ 85110010SmarkmTreat missing header files as generated files 86110010Smarkm 87110010SmarkmMM 88110010SmarkmC ObjC C++ ObjC++ 89110010SmarkmLike -M but ignore system header files 90110010Smarkm 91110010SmarkmMMD 92110010SmarkmC ObjC C++ ObjC++ Separate 93110010SmarkmLike -MD but ignore system header files 94110010Smarkm 95110010SmarkmMP 96110010SmarkmC ObjC C++ ObjC++ 97110010SmarkmGenerate phony targets for all headers 98110010Smarkm 99110010SmarkmMQ 100110010SmarkmC ObjC C++ ObjC++ Joined Separate 101110010Smarkm-MQ <target> Add a MAKE-quoted target 102110010Smarkm 103110010SmarkmMT 104110010SmarkmC ObjC C++ ObjC++ Joined Separate 105110010Smarkm-MT <target> Add an unquoted target 106110010Smarkm 107110010SmarkmP 108110010SmarkmC ObjC C++ ObjC++ 109110010SmarkmDo not generate #line directives 110110010Smarkm 111110010SmarkmU 112110010SmarkmC ObjC C++ ObjC++ Joined Separate 113110010Smarkm-U<macro> Undefine <macro> 114110010Smarkm 115110010SmarkmWabi 116110010SmarkmC++ ObjC++ Var(warn_abi) 117110010SmarkmWarn about things that will change when compiling with an ABI-compliant compiler 118110010Smarkm 119110010SmarkmWall 120110010SmarkmC ObjC C++ ObjC++ 121110010SmarkmEnable most warning messages 122110010Smarkm 123110010SmarkmWassign-intercept 124110010SmarkmObjC ObjC++ Var(warn_assign_intercept) 125110010SmarkmWarn whenever an Objective-C assignment is being intercepted by the garbage collector 126110010Smarkm 127110010SmarkmWbad-function-cast 128110010SmarkmC ObjC Var(warn_bad_function_cast) 129110010SmarkmWarn about casting functions to incompatible types 130110010Smarkm 131110010SmarkmWc++-compat 132110010SmarkmC Var(warn_cxx_compat) 133142429SnectarWarn about C constructs that are not in the common subset of C and C++ 134110010Smarkm 135110010Smarkm 136306196SjkimWcast-qual 137215698SsimonC ObjC C++ ObjC++ Var(warn_cast_qual) 138215698SsimonWarn about casts which discard qualifiers 139215698Ssimon 140215698SsimonWchar-subscripts 141110010SmarkmC ObjC C++ ObjC++ Var(warn_char_subscripts) 142110010SmarkmWarn about subscripts whose type is \"char\" 143110010Smarkm 144110010SmarkmWcomment 145215698SsimonC ObjC C++ ObjC++ 146215698SsimonWarn about possibly nested block comments, and C++ comments spanning more than one physical line 147215698Ssimon 148215698SsimonWcomments 149215698SsimonC ObjC C++ ObjC++ 150110010SmarkmSynonym for -Wcomment 151110010Smarkm 152110010SmarkmWconversion 153110010SmarkmC ObjC C++ ObjC++ Var(warn_conversion) 154110010SmarkmWarn about possibly confusing type conversions 155238405Sjkim 156238405SjkimWctor-dtor-privacy 157238405SjkimC++ ObjC++ Var(warn_ctor_dtor_privacy) 158110010SmarkmWarn when all constructors and destructors are private 159110010Smarkm 160110010SmarkmWdeclaration-after-statement 161110010SmarkmC ObjC Var(warn_declaration_after_statement) 162110010SmarkmWarn when a declaration is found after a statement 163110010Smarkm 164110010SmarkmWdeprecated 165110010SmarkmC++ ObjC++ Var(warn_deprecated) Init(1) 166110010SmarkmWarn about deprecated compiler features 167110010Smarkm 168110010SmarkmWdiv-by-zero 169110010SmarkmC ObjC Var(warn_div_by_zero) Init(1) 170238405SjkimWarn about compile-time integer division by zero 171238405Sjkim 172238405SjkimWeffc++ 173160819SsimonC++ ObjC++ Var(warn_ecpp) 174238405SjkimWarn about violations of Effective C++ style rules 175160819Ssimon 176160819SsimonWendif-labels 177238405SjkimC ObjC C++ ObjC++ 178238405SjkimWarn about stray tokens after #elif and #endif 179238405Sjkim 180238405SjkimWerror 181110010SmarkmC ObjC C++ ObjC++ 182110010Smarkm; Documented in common.opt 183110010Smarkm 184110010SmarkmWerror-implicit-function-declaration 185110010SmarkmC ObjC RejectNegative 186110010SmarkmMake implicit function declarations an error 187110010Smarkm 188110010SmarkmWfloat-equal 189110010SmarkmC ObjC C++ ObjC++ Var(warn_float_equal) 190142429SnectarWarn if testing floating point numbers for equality 191142429Snectar 192142429SnectarWformat 193110010SmarkmC ObjC C++ ObjC++ 194110010SmarkmWarn about printf/scanf/strftime/strfmon format string anomalies 195110010Smarkm 196Wformat-extra-args 197C ObjC C++ ObjC++ Var(warn_format_extra_args) 198Warn if passing too many arguments to a function for its format string 199 200Wformat-nonliteral 201C ObjC C++ ObjC++ Var(warn_format_nonliteral) 202Warn about format strings that are not literals 203 204Wformat-security 205C ObjC C++ ObjC++ Var(warn_format_security) 206Warn about possible security problems with format functions 207 208Wformat-y2k 209C ObjC C++ ObjC++ Var(warn_format_y2k) 210Warn about strftime formats yielding 2-digit years 211 212Wformat-zero-length 213C ObjC Var(warn_format_zero_length) 214Warn about zero-length formats 215 216Wformat= 217C ObjC C++ ObjC++ Joined 218 219Winit-self 220C ObjC C++ ObjC++ Var(warn_init_self) 221Warn about variables which are initialized to themselves 222 223Wimplicit 224C ObjC C++ ObjC++ 225 226Wimplicit-function-declaration 227C ObjC Var(mesg_implicit_function_declaration) Init(-1) 228Warn about implicit function declarations 229 230Wimplicit-int 231C ObjC Var(warn_implicit_int) 232Warn when a declaration does not specify a type 233 234Wimport 235C ObjC C++ ObjC++ 236Deprecated. This switch has no effect 237 238Wint-to-pointer-cast 239C ObjC Var(warn_int_to_pointer_cast) Init(1) 240Warn when there is a cast to a pointer from an integer of a different size 241 242Winvalid-offsetof 243C++ ObjC++ Var(warn_invalid_offsetof) Init(1) 244Warn about invalid uses of the \"offsetof\" macro 245 246Winvalid-pch 247C ObjC C++ ObjC++ 248Warn about PCH files that are found but not used 249 250Wlong-long 251C ObjC C++ ObjC++ Var(warn_long_long) Init(1) 252Do not warn about using \"long long\" when -pedantic 253 254Wmain 255C ObjC 256Warn about suspicious declarations of \"main\" 257 258Wmissing-braces 259C ObjC C++ ObjC++ Var(warn_missing_braces) 260Warn about possibly missing braces around initializers 261 262Wmissing-declarations 263C ObjC Var(warn_missing_declarations) 264Warn about global functions without previous declarations 265 266Wmissing-field-initializers 267C ObjC C++ ObjC++ Var(warn_missing_field_initializers) Init(-1) 268Warn about missing fields in struct initializers 269 270Wmissing-format-attribute 271C ObjC C++ ObjC++ Var(warn_missing_format_attribute) 272Warn about functions which might be candidates for format attributes 273 274Wmissing-include-dirs 275C ObjC C++ ObjC++ 276Warn about user-specified include directories that do not exist 277 278Wmissing-prototypes 279C ObjC Var(warn_missing_prototypes) 280Warn about global functions without prototypes 281 282Wmultichar 283C ObjC C++ ObjC++ 284Warn about use of multi-character character constants 285 286Wnested-externs 287C ObjC Var(warn_nested_externs) 288Warn about \"extern\" declarations not at file scope 289 290Wnon-template-friend 291C++ ObjC++ Var(warn_nontemplate_friend) Init(1) 292Warn when non-templatized friend functions are declared within a template 293 294Wnon-virtual-dtor 295C++ ObjC++ Var(warn_nonvdtor) 296Warn about non-virtual destructors 297 298Wnonnull 299C ObjC Var(warn_nonnull) 300Warn about NULL being passed to argument slots marked as requiring non-NULL 301 302Wnormalized= 303C ObjC C++ ObjC++ Joined 304-Wnormalized=<id|nfc|nfkc> Warn about non-normalised Unicode strings 305 306Wold-style-cast 307C++ ObjC++ Var(warn_old_style_cast) 308Warn if a C-style cast is used in a program 309 310Wold-style-definition 311C ObjC Var(warn_old_style_definition) 312Warn if an old-style parameter definition is used 313 314Woverloaded-virtual 315C++ ObjC++ Var(warn_overloaded_virtual) 316Warn about overloaded virtual function names 317 318Wparentheses 319C ObjC C++ ObjC++ Var(warn_parentheses) 320Warn about possibly missing parentheses 321 322Wpmf-conversions 323C++ ObjC++ Var(warn_pmf2ptr) Init(1) 324Warn when converting the type of pointers to member functions 325 326Wpointer-arith 327C ObjC C++ ObjC++ Var(warn_pointer_arith) 328Warn about function pointer arithmetic 329 330Wpointer-to-int-cast 331C ObjC Var(warn_pointer_to_int_cast) Init(1) 332Warn when a pointer is cast to an integer of a different size 333 334Wpragmas 335C ObjC C++ ObjC++ Var(warn_pragmas) Init(1) 336Warn about misuses of pragmas 337 338Wprotocol 339ObjC ObjC++ Var(warn_protocol) Init(1) 340Warn if inherited methods are unimplemented 341 342Wredundant-decls 343C ObjC C++ ObjC++ Var(warn_redundant_decls) 344Warn about multiple declarations of the same object 345 346Wreorder 347C++ ObjC++ Var(warn_reorder) 348Warn when the compiler reorders code 349 350Wreturn-type 351C ObjC C++ ObjC++ Var(warn_return_type) 352Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++) 353 354Wselector 355ObjC ObjC++ Var(warn_selector) 356Warn if a selector has multiple methods 357 358Wsequence-point 359C ObjC C++ ObjC++ Var(warn_sequence_point) 360Warn about possible violations of sequence point rules 361 362Wsign-compare 363C ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1) 364Warn about signed-unsigned comparisons 365 366Wsign-promo 367C++ ObjC++ Var(warn_sign_promo) 368Warn when overload promotes from unsigned to signed 369 370Wstrict-null-sentinel 371C++ ObjC++ 372Warn about uncasted NULL used as sentinel 373 374Wstrict-prototypes 375C ObjC Var(warn_strict_prototypes) 376Warn about unprototyped function declarations 377 378Wstrict-selector-match 379ObjC ObjC++ Var(warn_strict_selector_match) 380Warn if type signatures of candidate methods do not match exactly 381 382Wsynth 383C++ ObjC++ Var(warn_synth) 384Warn when synthesis behavior differs from Cfront 385 386Wsystem-headers 387C ObjC C++ ObjC++ 388Do not suppress warnings from system headers 389 390Wtraditional 391C ObjC Var(warn_traditional) 392Warn about features not present in traditional C 393 394Wtrigraphs 395C ObjC C++ ObjC++ 396Warn if trigraphs are encountered that might affect the meaning of the program 397 398Wundeclared-selector 399ObjC ObjC++ Var(warn_undeclared_selector) 400Warn about @selector()s without previously declared methods 401 402Wundef 403C ObjC C++ ObjC++ 404Warn if an undefined macro is used in an #if directive 405 406Wunknown-pragmas 407C ObjC C++ ObjC++ 408Warn about unrecognized pragmas 409 410Wunused-macros 411C ObjC C++ ObjC++ 412Warn about macros defined in the main file that are not used 413 414Wvariadic-macros 415C ObjC C++ ObjC++ 416Do not warn about using variadic macros when -pedantic 417 418Wwrite-strings 419C ObjC C++ ObjC++ 420Give strings the type \"array of char\" 421 422Wpointer-sign 423C ObjC Var(warn_pointer_sign) Init(-1) 424Warn when a pointer differs in signedness in an assignment 425 426ansi 427C ObjC C++ ObjC++ 428A synonym for -std=c89 (for C) or -std=c++98 (for C++) 429 430; This should really just be C++/ObjC++ but we (NetBSD) use it when 431; calling C and ObjC compilers as well. 432cxx-isystem 433C ObjC C++ ObjC++ Joined Separate 434-cxx-isystem <dir> Add <dir> to the start of the C++ system include path 435 436d 437C ObjC C++ ObjC++ Joined 438; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD? 439 440faccess-control 441C++ ObjC++ 442Enforce class member access control semantics 443 444fall-virtual 445C++ ObjC++ 446 447falt-external-templates 448C++ ObjC++ 449Change when template instances are emitted 450 451fasm 452C ObjC C++ ObjC++ 453Recognize the \"asm\" keyword 454 455fbuiltin 456C ObjC C++ ObjC++ 457Recognize built-in functions 458 459fbuiltin- 460C ObjC C++ ObjC++ Joined 461 462fcheck-new 463C++ ObjC++ 464Check the return value of new 465 466fcond-mismatch 467C ObjC C++ ObjC++ 468Allow the arguments of the '?' operator to have different types 469 470fconserve-space 471C++ ObjC++ 472Reduce the size of object files 473 474fconst-strings 475C++ ObjC++ 476Make string literals \"const char[]\" not \"char[]\" 477 478fconstant-string-class= 479ObjC ObjC++ Joined 480-fconst-string-class=<name> Use class <name> for constant strings 481 482fdefault-inline 483C++ ObjC++ 484Inline member functions by default 485 486fdollars-in-identifiers 487C ObjC C++ ObjC++ 488Permit '$' as an identifier character 489 490felide-constructors 491C++ ObjC++ 492 493fenforce-eh-specs 494C++ ObjC++ 495Generate code to check exception specifications 496 497fenum-int-equiv 498C++ ObjC++ 499 500fexec-charset= 501C ObjC C++ ObjC++ Joined RejectNegative 502-fexec-charset=<cset> Convert all strings and character constants to character set <cset> 503 504fextended-identifiers 505C ObjC C++ ObjC++ 506Permit universal character names (\\u and \\U) in identifiers 507 508finput-charset= 509C ObjC C++ ObjC++ Joined RejectNegative 510-finput-charset=<cset> Specify the default character set for source files 511 512 513fexternal-templates 514C++ ObjC++ 515 516ffixed-form 517C ObjC 518 519ffixed-line-length-none 520C ObjC 521 522ffixed-line-length- 523C ObjC Joined 524 525ffor-scope 526C++ ObjC++ 527Scope of for-init-statement variables is local to the loop 528 529ffreestanding 530C ObjC 531Do not assume that standard C libraries and \"main\" exist 532 533fgnu-keywords 534C++ ObjC++ 535Recognize GNU-defined keywords 536 537fgnu-runtime 538ObjC ObjC++ 539Generate code for GNU runtime environment 540 541fgnu89-inline 542C Var(flag_gnu89_inline) Init(-1) 543Use traditional GNU semantics for inline functions 544 545fguiding-decls 546C++ ObjC++ 547 548fhandle-exceptions 549C++ ObjC++ 550 551fhonor-std 552C++ ObjC++ 553 554fhosted 555C ObjC 556Assume normal C execution environment 557 558fhuge-objects 559C++ ObjC++ 560Enable support for huge objects 561 562fimplement-inlines 563C++ ObjC++ 564Export functions even if they can be inlined 565 566fimplicit-inline-templates 567C++ ObjC++ 568Emit implicit instantiations of inline templates 569 570fimplicit-templates 571C++ ObjC++ 572Emit implicit instantiations of templates 573 574ffriend-injection 575C++ Var(flag_friend_injection) 576Inject friend functions into enclosing namespace 577 578flabels-ok 579C++ ObjC++ 580 581fms-extensions 582C ObjC C++ ObjC++ 583Don't warn about uses of Microsoft extensions 584 585fname-mangling-version- 586C++ ObjC++ Joined 587 588fnew-abi 589C++ ObjC++ 590 591fnext-runtime 592ObjC ObjC++ 593Generate code for NeXT (Apple Mac OS X) runtime environment 594 595fnil-receivers 596ObjC ObjC++ 597Assume that receivers of Objective-C messages may be nil 598 599fnonansi-builtins 600C++ ObjC++ 601 602fnonnull-objects 603C++ ObjC++ 604 605; Generate special '- .cxx_construct' and '- .cxx_destruct' methods 606; to initialize any non-POD ivars in Objective-C++ classes. 607fobjc-call-cxx-cdtors 608ObjC++ Var(flag_objc_call_cxx_cdtors) 609Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed 610 611fobjc-direct-dispatch 612ObjC ObjC++ Var(flag_objc_direct_dispatch) 613Allow fast jumps to the message dispatcher 614 615; Nonzero means that we will allow new ObjC exception syntax (@throw, 616; @try, etc.) in source code. 617fobjc-exceptions 618ObjC ObjC++ Var(flag_objc_exceptions) 619Enable Objective-C exception and synchronization syntax 620 621fobjc-gc 622ObjC ObjC++ Var(flag_objc_gc) 623Enable garbage collection (GC) in Objective-C/Objective-C++ programs 624 625; Nonzero means that we generate NeXT setjmp based exceptions. 626fobjc-sjlj-exceptions 627ObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1) 628Enable Objective-C setjmp exception handling runtime 629 630foperator-names 631C++ ObjC++ 632Recognize C++ kewords like \"compl\" and \"xor\" 633 634foptional-diags 635C++ ObjC++ 636Enable optional diagnostics 637 638fpch-deps 639C ObjC C++ ObjC++ 640 641fpch-preprocess 642C ObjC C++ ObjC++ 643Look for and use PCH files even when preprocessing 644 645fpermissive 646C++ ObjC++ 647Downgrade conformance errors to warnings 648 649fpreprocessed 650C ObjC C++ ObjC++ 651Treat the input file as already preprocessed 652 653freplace-objc-classes 654ObjC ObjC++ 655Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime 656 657frepo 658C++ ObjC++ 659Enable automatic template instantiation 660 661frtti 662C++ ObjC++ 663Generate run time type descriptor information 664 665fshort-double 666C ObjC C++ ObjC++ 667Use the same size for double as for float 668 669fshort-enums 670C ObjC C++ ObjC++ 671Use the narrowest integer type possible for enumeration types 672 673fshort-wchar 674C ObjC C++ ObjC++ 675Force the underlying type for \"wchar_t\" to be \"unsigned short\" 676 677fsigned-bitfields 678C ObjC C++ ObjC++ 679When \"signed\" or \"unsigned\" is not given make the bitfield signed 680 681fsigned-char 682C ObjC C++ ObjC++ 683Make \"char\" signed by default 684 685fsquangle 686C++ ObjC++ 687 688fstats 689C++ ObjC++ 690Display statistics accumulated during compilation 691 692fstrict-prototype 693C++ ObjC++ 694 695ftabstop= 696C ObjC C++ ObjC++ Joined RejectNegative UInteger 697-ftabstop=<number> Distance between tab stops for column reporting 698 699ftemplate-depth- 700C++ ObjC++ Joined RejectNegative UInteger 701-ftemplate-depth-<number> Specify maximum template instantiation depth 702 703fthis-is-variable 704C++ ObjC++ 705 706fthreadsafe-statics 707C++ ObjC++ 708-fno-threadsafe-statics Do not generate thread-safe code for initializing local statics 709 710funsigned-bitfields 711C ObjC C++ ObjC++ 712When \"signed\" or \"unsigned\" is not given make the bitfield unsigned 713 714funsigned-char 715C ObjC C++ ObjC++ 716Make \"char\" unsigned by default 717 718fuse-cxa-atexit 719C++ ObjC++ 720Use __cxa_atexit to register destructors 721 722fvisibility-inlines-hidden 723C++ ObjC++ 724Marks all inlined methods as having hidden visibility 725 726fvtable-gc 727C++ ObjC++ 728Discard unused virtual functions 729 730fvtable-thunks 731C++ ObjC++ 732Implement vtables using thunks 733 734fweak 735C++ ObjC++ 736Emit common-like symbols as weak symbols 737 738fwide-exec-charset= 739C ObjC C++ ObjC++ Joined RejectNegative 740-fwide-exec-charset=<cset> Convert all wide strings and character constants to character set <cset> 741 742fworking-directory 743C ObjC C++ ObjC++ 744Generate a #line directive pointing at the current working directory 745 746fxref 747C++ ObjC++ 748Emit cross referencing information 749 750fzero-link 751ObjC ObjC++ 752Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode 753 754gen-decls 755ObjC ObjC++ 756Dump declarations to a .decl file 757 758idirafter 759C ObjC C++ ObjC++ Joined Separate 760-idirafter <dir> Add <dir> to the end of the system include path 761 762imacros 763C ObjC C++ ObjC++ Joined Separate 764-imacros <file> Accept definition of macros in <file> 765 766include 767C ObjC C++ ObjC++ Joined Separate 768-include <file> Include the contents of <file> before other files 769 770iprefix 771C ObjC C++ ObjC++ Joined Separate 772-iprefix <path> Specify <path> as a prefix for next two options 773 774isysroot 775C ObjC C++ ObjC++ Joined Separate 776-isysroot <dir> Set <dir> to be the system root directory 777 778isystem 779C ObjC C++ ObjC++ Joined Separate 780-isystem <dir> Add <dir> to the start of the system include path 781 782iquote 783C ObjC C++ ObjC++ Joined Separate 784-iquote <dir> Add <dir> to the end of the quote include path 785 786iremap 787C ObjC C++ ObjC++ Joined Separate 788-iremap <src:dst> Convert <src> to <dst> if it occurs as prefix in __FILE__. 789 790iwithprefix 791C ObjC C++ ObjC++ Joined Separate 792-iwithprefix <dir> Add <dir> to the end of the system include path 793 794iwithprefixbefore 795C ObjC C++ ObjC++ Joined Separate 796-iwithprefixbefore <dir> Add <dir> to the end of the main include path 797 798lang-asm 799C Undocumented 800 801lang-fortran 802C Undocumented 803 804lang-objc 805C ObjC C++ ObjC++ Undocumented 806 807nostdinc 808C ObjC C++ ObjC++ 809Do not search standard system include directories (those specified with -isystem will still be used) 810 811nostdinc++ 812C++ ObjC++ 813Do not search standard system include directories for C++ 814 815o 816C ObjC C++ ObjC++ Joined Separate 817; Documented in common.opt 818 819pedantic 820C ObjC C++ ObjC++ 821; Documented in common.opt 822 823pedantic-errors 824C ObjC C++ ObjC++ 825; Documented in common.opt 826 827print-objc-runtime-info 828ObjC ObjC++ 829Generate C header of platform-specific features 830 831print-pch-checksum 832C ObjC C++ ObjC++ 833Print a checksum of the executable for PCH validity checking, and stop 834 835remap 836C ObjC C++ ObjC++ 837Remap file names when including files 838 839std=c++98 840C++ ObjC++ 841Conform to the ISO 1998 C++ standard 842 843std=c89 844C ObjC 845Conform to the ISO 1990 C standard 846 847std=c99 848C ObjC 849Conform to the ISO 1999 C standard 850 851std=c9x 852C ObjC 853Deprecated in favor of -std=c99 854 855std=gnu++98 856C++ ObjC++ 857Conform to the ISO 1998 C++ standard with GNU extensions 858 859std=gnu89 860C ObjC 861Conform to the ISO 1990 C standard with GNU extensions 862 863std=gnu99 864C ObjC 865Conform to the ISO 1999 C standard with GNU extensions 866 867std=gnu9x 868C ObjC 869Deprecated in favor of -std=gnu99 870 871std=iso9899:1990 872C ObjC 873Conform to the ISO 1990 C standard 874 875std=iso9899:199409 876C ObjC 877Conform to the ISO 1990 C standard as amended in 1994 878 879std=iso9899:1999 880C ObjC 881Conform to the ISO 1999 C standard 882 883std=iso9899:199x 884C ObjC 885Deprecated in favor of -std=iso9899:1999 886 887traditional-cpp 888C ObjC C++ ObjC++ 889Enable traditional preprocessing 890 891trigraphs 892C ObjC C++ ObjC++ 893-trigraphs Support ISO C trigraphs 894 895undef 896C ObjC C++ ObjC++ 897Do not predefine system-specific and GCC-specific macros 898 899v 900C ObjC C++ ObjC++ 901Enable verbose output 902 903w 904C ObjC C++ ObjC++ 905; Documented in common.opt 906 907; This comment is to ensure we retain the blank line above. 908