1404b540aSrobert; Options for the C, ObjC, C++ and ObjC++ front ends. 2404b540aSrobert; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 3404b540aSrobert; 4404b540aSrobert; This file is part of GCC. 5404b540aSrobert; 6404b540aSrobert; GCC is free software; you can redistribute it and/or modify it under 7404b540aSrobert; the terms of the GNU General Public License as published by the Free 8404b540aSrobert; Software Foundation; either version 2, or (at your option) any later 9404b540aSrobert; version. 10404b540aSrobert; 11404b540aSrobert; GCC is distributed in the hope that it will be useful, but WITHOUT ANY 12404b540aSrobert; WARRANTY; without even the implied warranty of MERCHANTABILITY or 13404b540aSrobert; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14404b540aSrobert; for more details. 15404b540aSrobert; 16404b540aSrobert; You should have received a copy of the GNU General Public License 17404b540aSrobert; along with GCC; see the file COPYING. If not, write to the Free 18404b540aSrobert; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 19404b540aSrobert; 02110-1301, USA. 20404b540aSrobert 21404b540aSrobert; See the GCC internals manual for a description of this file's format. 22404b540aSrobert 23404b540aSrobert; Please try to keep this file in ASCII collating order. 24404b540aSrobert 25404b540aSrobertLanguage 26404b540aSrobertC 27404b540aSrobert 28404b540aSrobertLanguage 29404b540aSrobertObjC 30404b540aSrobert 31404b540aSrobertLanguage 32404b540aSrobertC++ 33404b540aSrobert 34404b540aSrobertLanguage 35404b540aSrobertObjC++ 36404b540aSrobert 37404b540aSrobert-output-pch= 38404b540aSrobertC ObjC C++ ObjC++ Joined Separate 39404b540aSrobert 40404b540aSrobertA 41404b540aSrobertC ObjC C++ ObjC++ Joined Separate 42404b540aSrobert-A<question>=<answer> Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question> 43404b540aSrobert 44404b540aSrobertC 45404b540aSrobertC ObjC C++ ObjC++ 46404b540aSrobertDo not discard comments 47404b540aSrobert 48404b540aSrobertCC 49404b540aSrobertC ObjC C++ ObjC++ 50404b540aSrobertDo not discard comments in macro expansions 51404b540aSrobert 52404b540aSrobertD 53404b540aSrobertC ObjC C++ ObjC++ Joined Separate 54404b540aSrobert-D<macro>[=<val>] Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1 55404b540aSrobert 56404b540aSrobertE 57404b540aSrobertC ObjC C++ ObjC++ Undocumented 58404b540aSrobert 59404b540aSrobertF 60404b540aSrobertC ObjC C++ ObjC++ Joined Separate 61404b540aSrobert-F <dir> Add <dir> to the end of the main framework include path 62404b540aSrobert 63404b540aSrobertH 64404b540aSrobertC ObjC C++ ObjC++ 65404b540aSrobertPrint the name of header files as they are used 66404b540aSrobert 67404b540aSrobertI 68404b540aSrobertC ObjC C++ ObjC++ Joined Separate 69404b540aSrobert-I <dir> Add <dir> to the end of the main include path 70404b540aSrobert 71404b540aSrobertM 72404b540aSrobertC ObjC C++ ObjC++ 73404b540aSrobertGenerate make dependencies 74404b540aSrobert 75404b540aSrobertMD 76404b540aSrobertC ObjC C++ ObjC++ Separate 77404b540aSrobertGenerate make dependencies and compile 78404b540aSrobert 79404b540aSrobertMF 80404b540aSrobertC ObjC C++ ObjC++ Joined Separate 81404b540aSrobert-MF <file> Write dependency output to the given file 82404b540aSrobert 83404b540aSrobertMG 84404b540aSrobertC ObjC C++ ObjC++ 85404b540aSrobertTreat missing header files as generated files 86404b540aSrobert 87404b540aSrobertMM 88404b540aSrobertC ObjC C++ ObjC++ 89404b540aSrobertLike -M but ignore system header files 90404b540aSrobert 91404b540aSrobertMMD 92404b540aSrobertC ObjC C++ ObjC++ Separate 93404b540aSrobertLike -MD but ignore system header files 94404b540aSrobert 95404b540aSrobertMP 96404b540aSrobertC ObjC C++ ObjC++ 97404b540aSrobertGenerate phony targets for all headers 98404b540aSrobert 99404b540aSrobertMQ 100404b540aSrobertC ObjC C++ ObjC++ Joined Separate 101404b540aSrobert-MQ <target> Add a MAKE-quoted target 102404b540aSrobert 103404b540aSrobertMT 104404b540aSrobertC ObjC C++ ObjC++ Joined Separate 105404b540aSrobert-MT <target> Add an unquoted target 106404b540aSrobert 107404b540aSrobertP 108404b540aSrobertC ObjC C++ ObjC++ 109404b540aSrobertDo not generate #line directives 110404b540aSrobert 111404b540aSrobertU 112404b540aSrobertC ObjC C++ ObjC++ Joined Separate 113404b540aSrobert-U<macro> Undefine <macro> 114404b540aSrobert 115404b540aSrobertWabi 116404b540aSrobertC++ ObjC++ Var(warn_abi) 117404b540aSrobertWarn about things that will change when compiling with an ABI-compliant compiler 118404b540aSrobert 119404b540aSrobertWaddress 120404b540aSrobertC ObjC C++ ObjC++ Var(warn_address) 121404b540aSrobertWarn about suspicious uses of memory addresses 122404b540aSrobert 123404b540aSrobertWall 124404b540aSrobertC ObjC C++ ObjC++ 125404b540aSrobertEnable most warning messages 126404b540aSrobert 127404b540aSrobertWassign-intercept 128404b540aSrobertObjC ObjC++ Var(warn_assign_intercept) 129404b540aSrobertWarn whenever an Objective-C assignment is being intercepted by the garbage collector 130404b540aSrobert 131404b540aSrobertWbad-function-cast 132404b540aSrobertC ObjC Var(warn_bad_function_cast) 133404b540aSrobertWarn about casting functions to incompatible types 134404b540aSrobert 13575146896SjsgWbounded 136*205d9147SmartynasC ObjC C++ Var(warn_bounded) Init(1) 13775146896SjsgWarn about basic buffer size problems 13875146896Sjsg 139404b540aSrobertWc++-compat 140404b540aSrobertC ObjC Var(warn_cxx_compat) 141404b540aSrobertWarn about C constructs that are not in the common subset of C and C++ 142404b540aSrobert 143404b540aSrobert 144404b540aSrobertWcast-qual 145404b540aSrobertC ObjC C++ ObjC++ Var(warn_cast_qual) 146404b540aSrobertWarn about casts which discard qualifiers 147404b540aSrobert 148404b540aSrobertWchar-subscripts 149404b540aSrobertC ObjC C++ ObjC++ Var(warn_char_subscripts) 150404b540aSrobertWarn about subscripts whose type is \"char\" 151404b540aSrobert 152404b540aSrobertWcomment 153404b540aSrobertC ObjC C++ ObjC++ 154404b540aSrobertWarn about possibly nested block comments, and C++ comments spanning more than one physical line 155404b540aSrobert 156404b540aSrobertWcomments 157404b540aSrobertC ObjC C++ ObjC++ 158404b540aSrobertSynonym for -Wcomment 159404b540aSrobert 160404b540aSrobertWconversion 161404b540aSrobertC ObjC C++ ObjC++ Var(warn_conversion) 162404b540aSrobertWarn about possibly confusing type conversions 163404b540aSrobert 164404b540aSrobertWctor-dtor-privacy 165404b540aSrobertC++ ObjC++ Var(warn_ctor_dtor_privacy) 166404b540aSrobertWarn when all constructors and destructors are private 167404b540aSrobert 168404b540aSrobertWdeclaration-after-statement 169404b540aSrobertC ObjC Var(warn_declaration_after_statement) 170404b540aSrobertWarn when a declaration is found after a statement 171404b540aSrobert 172404b540aSrobertWdeprecated 173404b540aSrobertC++ ObjC++ Var(warn_deprecated) Init(1) 174404b540aSrobertWarn about deprecated compiler features 175404b540aSrobert 176404b540aSrobertWdiv-by-zero 177404b540aSrobertC ObjC C++ ObjC++ Var(warn_div_by_zero) Init(1) 178404b540aSrobertWarn about compile-time integer division by zero 179404b540aSrobert 180404b540aSrobertWeffc++ 181404b540aSrobertC++ ObjC++ Var(warn_ecpp) 182404b540aSrobertWarn about violations of Effective C++ style rules 183404b540aSrobert 184404b540aSrobertWendif-labels 185404b540aSrobertC ObjC C++ ObjC++ 186404b540aSrobertWarn about stray tokens after #elif and #endif 187404b540aSrobert 188404b540aSrobertWerror 189404b540aSrobertC ObjC C++ ObjC++ 190404b540aSrobert; Documented in common.opt 191404b540aSrobert 192404b540aSrobertWerror-implicit-function-declaration 193404b540aSrobertC ObjC RejectNegative 194404b540aSrobertMake implicit function declarations an error 195404b540aSrobert 196404b540aSrobertWfloat-equal 197404b540aSrobertC ObjC C++ ObjC++ Var(warn_float_equal) 198404b540aSrobertWarn if testing floating point numbers for equality 199404b540aSrobert 200404b540aSrobertWformat 201404b540aSrobertC ObjC C++ ObjC++ 202404b540aSrobertWarn about printf/scanf/strftime/strfmon format string anomalies 203404b540aSrobert 204404b540aSrobertWformat-extra-args 205404b540aSrobertC ObjC C++ ObjC++ Var(warn_format_extra_args) 206404b540aSrobertWarn if passing too many arguments to a function for its format string 207404b540aSrobert 208404b540aSrobertWformat-nonliteral 209404b540aSrobertC ObjC C++ ObjC++ Var(warn_format_nonliteral) 210404b540aSrobertWarn about format strings that are not literals 211404b540aSrobert 212404b540aSrobertWformat-security 213404b540aSrobertC ObjC C++ ObjC++ Var(warn_format_security) 214404b540aSrobertWarn about possible security problems with format functions 215404b540aSrobert 216404b540aSrobertWformat-y2k 217404b540aSrobertC ObjC C++ ObjC++ Var(warn_format_y2k) 218404b540aSrobertWarn about strftime formats yielding 2-digit years 219404b540aSrobert 220404b540aSrobertWformat-zero-length 221404b540aSrobertC ObjC Var(warn_format_zero_length) 222404b540aSrobertWarn about zero-length formats 223404b540aSrobert 224404b540aSrobertWformat= 225404b540aSrobertC ObjC C++ ObjC++ Joined 226404b540aSrobert 227404b540aSrobertWinit-self 228404b540aSrobertC ObjC C++ ObjC++ Var(warn_init_self) 229404b540aSrobertWarn about variables which are initialized to themselves 230404b540aSrobert 231404b540aSrobertWimplicit 232404b540aSrobertC ObjC C++ ObjC++ 233404b540aSrobert 234404b540aSrobertWimplicit-function-declaration 235404b540aSrobertC ObjC Var(mesg_implicit_function_declaration) Init(-1) 236404b540aSrobertWarn about implicit function declarations 237404b540aSrobert 238404b540aSrobertWimplicit-int 239404b540aSrobertC ObjC Var(warn_implicit_int) 240404b540aSrobertWarn when a declaration does not specify a type 241404b540aSrobert 242404b540aSrobertWimport 243404b540aSrobertC ObjC C++ ObjC++ 244404b540aSrobertDeprecated. This switch has no effect 245404b540aSrobert 246404b540aSrobertWint-to-pointer-cast 247404b540aSrobertC ObjC Var(warn_int_to_pointer_cast) Init(1) 248404b540aSrobertWarn when there is a cast to a pointer from an integer of a different size 249404b540aSrobert 250404b540aSrobertWinvalid-offsetof 251404b540aSrobertC++ ObjC++ Var(warn_invalid_offsetof) Init(1) 252404b540aSrobertWarn about invalid uses of the \"offsetof\" macro 253404b540aSrobert 254404b540aSrobertWinvalid-pch 255404b540aSrobertC ObjC C++ ObjC++ 256404b540aSrobertWarn about PCH files that are found but not used 257404b540aSrobert 258404b540aSrobertWlong-long 259404b540aSrobertC ObjC C++ ObjC++ Var(warn_long_long) Init(1) 260404b540aSrobertDo not warn about using \"long long\" when -pedantic 261404b540aSrobert 262404b540aSrobertWmain 263404b540aSrobertC ObjC 264404b540aSrobertWarn about suspicious declarations of \"main\" 265404b540aSrobert 266404b540aSrobertWmissing-braces 267404b540aSrobertC ObjC C++ ObjC++ Var(warn_missing_braces) 268404b540aSrobertWarn about possibly missing braces around initializers 269404b540aSrobert 270404b540aSrobertWmissing-declarations 271404b540aSrobertC ObjC Var(warn_missing_declarations) 272404b540aSrobertWarn about global functions without previous declarations 273404b540aSrobert 274404b540aSrobertWmissing-field-initializers 275404b540aSrobertC ObjC C++ ObjC++ Var(warn_missing_field_initializers) Init(-1) 276404b540aSrobertWarn about missing fields in struct initializers 277404b540aSrobert 278404b540aSrobertWmissing-format-attribute 279404b540aSrobertC ObjC C++ ObjC++ Var(warn_missing_format_attribute) 280404b540aSrobertWarn about functions which might be candidates for format attributes 281404b540aSrobert 282404b540aSrobertWmissing-include-dirs 283404b540aSrobertC ObjC C++ ObjC++ 284404b540aSrobertWarn about user-specified include directories that do not exist 285404b540aSrobert 286404b540aSrobertWmissing-prototypes 287404b540aSrobertC ObjC Var(warn_missing_prototypes) 288404b540aSrobertWarn about global functions without prototypes 289404b540aSrobert 290404b540aSrobertWmultichar 291404b540aSrobertC ObjC C++ ObjC++ 292404b540aSrobertWarn about use of multi-character character constants 293404b540aSrobert 294404b540aSrobertWnested-externs 295404b540aSrobertC ObjC Var(warn_nested_externs) 296404b540aSrobertWarn about \"extern\" declarations not at file scope 297404b540aSrobert 298404b540aSrobertWnon-template-friend 299404b540aSrobertC++ ObjC++ Var(warn_nontemplate_friend) Init(1) 300404b540aSrobertWarn when non-templatized friend functions are declared within a template 301404b540aSrobert 302404b540aSrobertWnon-virtual-dtor 303404b540aSrobertC++ ObjC++ Var(warn_nonvdtor) 304404b540aSrobertWarn about non-virtual destructors 305404b540aSrobert 306404b540aSrobertWnonnull 307404b540aSrobertC ObjC Var(warn_nonnull) 308404b540aSrobertWarn about NULL being passed to argument slots marked as requiring non-NULL 309404b540aSrobert 310404b540aSrobertWnormalized= 311404b540aSrobertC ObjC C++ ObjC++ Joined 312404b540aSrobert-Wnormalized=<id|nfc|nfkc> Warn about non-normalised Unicode strings 313404b540aSrobert 314404b540aSrobertWold-style-cast 315404b540aSrobertC++ ObjC++ Var(warn_old_style_cast) 316404b540aSrobertWarn if a C-style cast is used in a program 317404b540aSrobert 318404b540aSrobertWold-style-definition 319404b540aSrobertC ObjC Var(warn_old_style_definition) 320404b540aSrobertWarn if an old-style parameter definition is used 321404b540aSrobert 322404b540aSrobertWoverlength-strings 323404b540aSrobertC ObjC C++ ObjC++ Var(warn_overlength_strings) Init(-1) 324404b540aSrobertWarn if a string is longer than the maximum portable length specified by the standard 325404b540aSrobert 326404b540aSrobertWoverloaded-virtual 327404b540aSrobertC++ ObjC++ Var(warn_overloaded_virtual) 328404b540aSrobertWarn about overloaded virtual function names 329404b540aSrobert 330404b540aSrobertWoverride-init 331404b540aSrobertC ObjC Var(warn_override_init) Init(-1) 332404b540aSrobertWarn about overriding initializers without side effects 333404b540aSrobert 334404b540aSrobertWparentheses 335404b540aSrobertC ObjC C++ ObjC++ Var(warn_parentheses) 336404b540aSrobertWarn about possibly missing parentheses 337404b540aSrobert 338404b540aSrobertWpmf-conversions 339404b540aSrobertC++ ObjC++ Var(warn_pmf2ptr) Init(1) 340404b540aSrobertWarn when converting the type of pointers to member functions 341404b540aSrobert 342404b540aSrobertWpointer-arith 343404b540aSrobertC ObjC C++ ObjC++ Var(warn_pointer_arith) 344404b540aSrobertWarn about function pointer arithmetic 345404b540aSrobert 346404b540aSrobertWpointer-to-int-cast 347404b540aSrobertC ObjC Var(warn_pointer_to_int_cast) Init(1) 348404b540aSrobertWarn when a pointer is cast to an integer of a different size 349404b540aSrobert 350404b540aSrobertWpragmas 351404b540aSrobertC ObjC C++ ObjC++ Var(warn_pragmas) Init(1) 352404b540aSrobertWarn about misuses of pragmas 353404b540aSrobert 354404b540aSrobertWprotocol 355404b540aSrobertObjC ObjC++ Var(warn_protocol) Init(1) 356404b540aSrobertWarn if inherited methods are unimplemented 357404b540aSrobert 358404b540aSrobertWredundant-decls 359404b540aSrobertC ObjC C++ ObjC++ Var(warn_redundant_decls) 360404b540aSrobertWarn about multiple declarations of the same object 361404b540aSrobert 362404b540aSrobertWreorder 363404b540aSrobertC++ ObjC++ Var(warn_reorder) 364404b540aSrobertWarn when the compiler reorders code 365404b540aSrobert 366404b540aSrobertWreturn-type 367404b540aSrobertC ObjC C++ ObjC++ Var(warn_return_type) 368404b540aSrobertWarn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++) 369404b540aSrobert 370404b540aSrobertWselector 371404b540aSrobertObjC ObjC++ Var(warn_selector) 372404b540aSrobertWarn if a selector has multiple methods 373404b540aSrobert 374404b540aSrobertWsequence-point 375404b540aSrobertC ObjC C++ ObjC++ Var(warn_sequence_point) 376404b540aSrobertWarn about possible violations of sequence point rules 377404b540aSrobert 378404b540aSrobertWsign-compare 379404b540aSrobertC ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1) 380404b540aSrobertWarn about signed-unsigned comparisons 381404b540aSrobert 382404b540aSrobertWsign-promo 383404b540aSrobertC++ ObjC++ Var(warn_sign_promo) 384404b540aSrobertWarn when overload promotes from unsigned to signed 385404b540aSrobert 386404b540aSrobertWstrict-null-sentinel 387404b540aSrobertC++ ObjC++ 388404b540aSrobertWarn about uncasted NULL used as sentinel 389404b540aSrobert 390404b540aSrobertWstrict-prototypes 391404b540aSrobertC ObjC Var(warn_strict_prototypes) 392404b540aSrobertWarn about unprototyped function declarations 393404b540aSrobert 394404b540aSrobertWstrict-selector-match 395404b540aSrobertObjC ObjC++ Var(warn_strict_selector_match) 396404b540aSrobertWarn if type signatures of candidate methods do not match exactly 397404b540aSrobert 398404b540aSrobertWsynth 399404b540aSrobertC++ ObjC++ Var(warn_synth) 400404b540aSrobertWarn when synthesis behavior differs from Cfront 401404b540aSrobert 402404b540aSrobertWsystem-headers 403404b540aSrobertC ObjC C++ ObjC++ 404404b540aSrobertDo not suppress warnings from system headers 405404b540aSrobert 406404b540aSrobertWtraditional 407404b540aSrobertC ObjC Var(warn_traditional) 408404b540aSrobertWarn about features not present in traditional C 409404b540aSrobert 41085ccd8dfSespieWtrampolines 41185ccd8dfSespieCommon Var(warn_trampolines) 41285ccd8dfSespieWarn when trampolines are emitted 41385ccd8dfSespie 414404b540aSrobertWtrigraphs 415404b540aSrobertC ObjC C++ ObjC++ 416404b540aSrobertWarn if trigraphs are encountered that might affect the meaning of the program 417404b540aSrobert 418404b540aSrobertWundeclared-selector 419404b540aSrobertObjC ObjC++ Var(warn_undeclared_selector) 420404b540aSrobertWarn about @selector()s without previously declared methods 421404b540aSrobert 422404b540aSrobertWundef 423404b540aSrobertC ObjC C++ ObjC++ 424404b540aSrobertWarn if an undefined macro is used in an #if directive 425404b540aSrobert 426404b540aSrobertWunknown-pragmas 427404b540aSrobertC ObjC C++ ObjC++ 428404b540aSrobertWarn about unrecognized pragmas 429404b540aSrobert 430404b540aSrobertWunused-macros 431404b540aSrobertC ObjC C++ ObjC++ 432404b540aSrobertWarn about macros defined in the main file that are not used 433404b540aSrobert 434404b540aSrobertWvariadic-macros 435404b540aSrobertC ObjC C++ ObjC++ 436404b540aSrobertDo not warn about using variadic macros when -pedantic 437404b540aSrobert 438404b540aSrobertWwrite-strings 439404b540aSrobertC ObjC C++ ObjC++ Var(warn_write_strings) 440404b540aSrobertIn 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. 441404b540aSrobert 442404b540aSrobertWpointer-sign 443404b540aSrobertC ObjC Var(warn_pointer_sign) Init(-1) 444404b540aSrobertWarn when a pointer differs in signedness in an assignment 445404b540aSrobert 446404b540aSrobertansi 447404b540aSrobertC ObjC C++ ObjC++ 448404b540aSrobertA synonym for -std=c89 (for C) or -std=c++98 (for C++) 449404b540aSrobert 450404b540aSrobertd 451404b540aSrobertC ObjC C++ ObjC++ Joined 452404b540aSrobert; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD? 453404b540aSrobert 454404b540aSrobertfaccess-control 455404b540aSrobertC++ ObjC++ 456404b540aSrobertEnforce class member access control semantics 457404b540aSrobert 458404b540aSrobertfall-virtual 459404b540aSrobertC++ ObjC++ 460404b540aSrobert 461404b540aSrobertfalt-external-templates 462404b540aSrobertC++ ObjC++ 463404b540aSrobertChange when template instances are emitted 464404b540aSrobert 465404b540aSrobertfasm 466404b540aSrobertC ObjC C++ ObjC++ 467404b540aSrobertRecognize the \"asm\" keyword 468404b540aSrobert 469404b540aSrobertfbuiltin 470404b540aSrobertC ObjC C++ ObjC++ 471404b540aSrobertRecognize built-in functions 472404b540aSrobert 473404b540aSrobertfbuiltin- 474404b540aSrobertC ObjC C++ ObjC++ Joined 475404b540aSrobert 476404b540aSrobertfcheck-new 477404b540aSrobertC++ ObjC++ 478404b540aSrobertCheck the return value of new 479404b540aSrobert 480404b540aSrobertfcond-mismatch 481404b540aSrobertC ObjC C++ ObjC++ 482404b540aSrobertAllow the arguments of the '?' operator to have different types 483404b540aSrobert 484404b540aSrobertfconserve-space 485404b540aSrobertC++ ObjC++ 486404b540aSrobertReduce the size of object files 487404b540aSrobert 488404b540aSrobertfconstant-string-class= 489404b540aSrobertObjC ObjC++ Joined 490404b540aSrobert-fconst-string-class=<name> Use class <name> for constant strings 491404b540aSrobert 492404b540aSrobertfdefault-inline 493404b540aSrobertC++ ObjC++ 494404b540aSrobertInline member functions by default 495404b540aSrobert 496404b540aSrobertfdollars-in-identifiers 497404b540aSrobertC ObjC C++ ObjC++ 498404b540aSrobertPermit '$' as an identifier character 499404b540aSrobert 500404b540aSrobertfelide-constructors 501404b540aSrobertC++ ObjC++ 502404b540aSrobert 503404b540aSrobertfenforce-eh-specs 504404b540aSrobertC++ ObjC++ 505404b540aSrobertGenerate code to check exception specifications 506404b540aSrobert 507404b540aSrobertfenum-int-equiv 508404b540aSrobertC++ ObjC++ 509404b540aSrobert 510404b540aSrobertfexec-charset= 511404b540aSrobertC ObjC C++ ObjC++ Joined RejectNegative 512404b540aSrobert-fexec-charset=<cset> Convert all strings and character constants to character set <cset> 513404b540aSrobert 514404b540aSrobertfextended-identifiers 515404b540aSrobertC ObjC C++ ObjC++ 516404b540aSrobertPermit universal character names (\\u and \\U) in identifiers 517404b540aSrobert 518404b540aSrobertfinput-charset= 519404b540aSrobertC ObjC C++ ObjC++ Joined RejectNegative 520404b540aSrobert-finput-charset=<cset> Specify the default character set for source files 521404b540aSrobert 522404b540aSrobert 523404b540aSrobertfexternal-templates 524404b540aSrobertC++ ObjC++ 525404b540aSrobert 526404b540aSrobertffor-scope 527404b540aSrobertC++ ObjC++ 528404b540aSrobertScope of for-init-statement variables is local to the loop 529404b540aSrobert 530404b540aSrobertffreestanding 531404b540aSrobertC ObjC 532404b540aSrobertDo not assume that standard C libraries and \"main\" exist 533404b540aSrobert 534404b540aSrobertfgnu-keywords 535404b540aSrobertC++ ObjC++ 536404b540aSrobertRecognize GNU-defined keywords 537404b540aSrobert 538404b540aSrobertfgnu-runtime 539404b540aSrobertObjC ObjC++ 540404b540aSrobertGenerate code for GNU runtime environment 541404b540aSrobert 542404b540aSrobertfgnu89-inline 543404b540aSrobertC ObjC Var(flag_gnu89_inline) Init(-1) 544404b540aSrobertUse traditional GNU semantics for inline functions 545404b540aSrobert 546404b540aSrobertfguiding-decls 547404b540aSrobertC++ ObjC++ 548404b540aSrobert 549404b540aSrobertfhandle-exceptions 550404b540aSrobertC++ ObjC++ 551404b540aSrobert 552404b540aSrobertfhonor-std 553404b540aSrobertC++ ObjC++ 554404b540aSrobert 555404b540aSrobertfhosted 556404b540aSrobertC ObjC 557404b540aSrobertAssume normal C execution environment 558404b540aSrobert 559404b540aSrobertfhuge-objects 560404b540aSrobertC++ ObjC++ 561404b540aSrobertEnable support for huge objects 562404b540aSrobert 563404b540aSrobertfimplement-inlines 564404b540aSrobertC++ ObjC++ 565404b540aSrobertExport functions even if they can be inlined 566404b540aSrobert 567404b540aSrobertfimplicit-inline-templates 568404b540aSrobertC++ ObjC++ 569404b540aSrobertEmit implicit instantiations of inline templates 570404b540aSrobert 571404b540aSrobertfimplicit-templates 572404b540aSrobertC++ ObjC++ 573404b540aSrobertEmit implicit instantiations of templates 574404b540aSrobert 575404b540aSrobertffriend-injection 576404b540aSrobertC++ ObjC++ Var(flag_friend_injection) 577404b540aSrobertInject friend functions into enclosing namespace 578404b540aSrobert 579404b540aSrobertflabels-ok 580404b540aSrobertC++ ObjC++ 581404b540aSrobert 582404b540aSrobertfms-extensions 583404b540aSrobertC ObjC C++ ObjC++ 584404b540aSrobertDon't warn about uses of Microsoft extensions 585404b540aSrobert 586404b540aSrobertfname-mangling-version- 587404b540aSrobertC++ ObjC++ Joined 588404b540aSrobert 589404b540aSrobertfnew-abi 590404b540aSrobertC++ ObjC++ 591404b540aSrobert 592404b540aSrobertfnext-runtime 593404b540aSrobertObjC ObjC++ 594404b540aSrobertGenerate code for NeXT (Apple Mac OS X) runtime environment 595404b540aSrobert 596404b540aSrobertfnil-receivers 597404b540aSrobertObjC ObjC++ 598404b540aSrobertAssume that receivers of Objective-C messages may be nil 599404b540aSrobert 600404b540aSrobertfnonansi-builtins 601404b540aSrobertC++ ObjC++ 602404b540aSrobert 603404b540aSrobertfnonnull-objects 604404b540aSrobertC++ ObjC++ 605404b540aSrobert 606404b540aSrobert; Generate special '- .cxx_construct' and '- .cxx_destruct' methods 607404b540aSrobert; to initialize any non-POD ivars in Objective-C++ classes. 608404b540aSrobertfobjc-call-cxx-cdtors 609404b540aSrobertObjC++ Var(flag_objc_call_cxx_cdtors) 610404b540aSrobertGenerate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed 611404b540aSrobert 612404b540aSrobertfobjc-direct-dispatch 613404b540aSrobertObjC ObjC++ Var(flag_objc_direct_dispatch) 614404b540aSrobertAllow fast jumps to the message dispatcher 615404b540aSrobert 616404b540aSrobert; Nonzero means that we will allow new ObjC exception syntax (@throw, 617404b540aSrobert; @try, etc.) in source code. 618404b540aSrobertfobjc-exceptions 619404b540aSrobertObjC ObjC++ Var(flag_objc_exceptions) 620404b540aSrobertEnable Objective-C exception and synchronization syntax 621404b540aSrobert 622404b540aSrobertfobjc-gc 623404b540aSrobertObjC ObjC++ Var(flag_objc_gc) 624404b540aSrobertEnable garbage collection (GC) in Objective-C/Objective-C++ programs 625404b540aSrobert 626404b540aSrobert; Nonzero means that we generate NeXT setjmp based exceptions. 627404b540aSrobertfobjc-sjlj-exceptions 628404b540aSrobertObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1) 629404b540aSrobertEnable Objective-C setjmp exception handling runtime 630404b540aSrobert 631404b540aSrobertfopenmp 632404b540aSrobertC ObjC C++ ObjC++ Var(flag_openmp) 633404b540aSrobertEnable OpenMP 634404b540aSrobert 635404b540aSrobertfoperator-names 636404b540aSrobertC++ ObjC++ 637404b540aSrobertRecognize C++ kewords like \"compl\" and \"xor\" 638404b540aSrobert 639404b540aSrobertfoptional-diags 640404b540aSrobertC++ ObjC++ 641404b540aSrobertEnable optional diagnostics 642404b540aSrobert 643404b540aSrobertfpch-deps 644404b540aSrobertC ObjC C++ ObjC++ 645404b540aSrobert 646404b540aSrobertfpch-preprocess 647404b540aSrobertC ObjC C++ ObjC++ 648404b540aSrobertLook for and use PCH files even when preprocessing 649404b540aSrobert 650404b540aSrobertfpermissive 651404b540aSrobertC++ ObjC++ 652404b540aSrobertDowngrade conformance errors to warnings 653404b540aSrobert 654404b540aSrobertfpreprocessed 655404b540aSrobertC ObjC C++ ObjC++ 656404b540aSrobertTreat the input file as already preprocessed 657404b540aSrobert 658404b540aSrobertfreplace-objc-classes 659404b540aSrobertObjC ObjC++ 660404b540aSrobertUsed in Fix-and-Continue mode to indicate that object files may be swapped in at runtime 661404b540aSrobert 662404b540aSrobertfrepo 663404b540aSrobertC++ ObjC++ 664404b540aSrobertEnable automatic template instantiation 665404b540aSrobert 666404b540aSrobertfrtti 667404b540aSrobertC++ ObjC++ 668404b540aSrobertGenerate run time type descriptor information 669404b540aSrobert 670404b540aSrobertfshort-double 671404b540aSrobertC ObjC C++ ObjC++ 672404b540aSrobertUse the same size for double as for float 673404b540aSrobert 674404b540aSrobertfshort-enums 675404b540aSrobertC ObjC C++ ObjC++ 676404b540aSrobertUse the narrowest integer type possible for enumeration types 677404b540aSrobert 678404b540aSrobertfshort-wchar 679404b540aSrobertC ObjC C++ ObjC++ 680404b540aSrobertForce the underlying type for \"wchar_t\" to be \"unsigned short\" 681404b540aSrobert 682404b540aSrobertfsigned-bitfields 683404b540aSrobertC ObjC C++ ObjC++ 684404b540aSrobertWhen \"signed\" or \"unsigned\" is not given make the bitfield signed 685404b540aSrobert 686404b540aSrobertfsigned-char 687404b540aSrobertC ObjC C++ ObjC++ 688404b540aSrobertMake \"char\" signed by default 689404b540aSrobert 690404b540aSrobertfsquangle 691404b540aSrobertC++ ObjC++ 692404b540aSrobert 693404b540aSrobertfstats 694404b540aSrobertC++ ObjC++ 695404b540aSrobertDisplay statistics accumulated during compilation 696404b540aSrobert 697404b540aSrobertfstrict-prototype 698404b540aSrobertC++ ObjC++ 699404b540aSrobert 700404b540aSrobertftabstop= 701404b540aSrobertC ObjC C++ ObjC++ Joined RejectNegative UInteger 702404b540aSrobert-ftabstop=<number> Distance between tab stops for column reporting 703404b540aSrobert 704404b540aSrobertftemplate-depth- 705404b540aSrobertC++ ObjC++ Joined RejectNegative UInteger 706404b540aSrobert-ftemplate-depth-<number> Specify maximum template instantiation depth 707404b540aSrobert 708404b540aSrobertfthis-is-variable 709404b540aSrobertC++ ObjC++ 710404b540aSrobert 711404b540aSrobertfthreadsafe-statics 712404b540aSrobertC++ ObjC++ 713404b540aSrobert-fno-threadsafe-statics Do not generate thread-safe code for initializing local statics 714404b540aSrobert 71585ccd8dfSespieftrampolines 71685ccd8dfSespieCommon Var(flag_trampolines) 71785ccd8dfSespieAllows trampolines 71885ccd8dfSespie 719404b540aSrobertfunsigned-bitfields 720404b540aSrobertC ObjC C++ ObjC++ 721404b540aSrobertWhen \"signed\" or \"unsigned\" is not given make the bitfield unsigned 722404b540aSrobert 723404b540aSrobertfunsigned-char 724404b540aSrobertC ObjC C++ ObjC++ 725404b540aSrobertMake \"char\" unsigned by default 726404b540aSrobert 727404b540aSrobertfuse-cxa-atexit 728404b540aSrobertC++ ObjC++ 729404b540aSrobertUse __cxa_atexit to register destructors 730404b540aSrobert 731404b540aSrobertfuse-cxa-get-exception-ptr 732404b540aSrobertC++ ObjC++ 733404b540aSrobertUse __cxa_get_exception_ptr in exception handling 734404b540aSrobert 735404b540aSrobertfvisibility-inlines-hidden 736404b540aSrobertC++ ObjC++ 737404b540aSrobertMarks all inlined methods as having hidden visibility 738404b540aSrobert 739404b540aSrobertfvtable-gc 740404b540aSrobertC++ ObjC++ 741404b540aSrobertDiscard unused virtual functions 742404b540aSrobert 743404b540aSrobertfvtable-thunks 744404b540aSrobertC++ ObjC++ 745404b540aSrobertImplement vtables using thunks 746404b540aSrobert 747404b540aSrobertfweak 748404b540aSrobertC++ ObjC++ 749404b540aSrobertEmit common-like symbols as weak symbols 750404b540aSrobert 751404b540aSrobertfwide-exec-charset= 752404b540aSrobertC ObjC C++ ObjC++ Joined RejectNegative 753404b540aSrobert-fwide-exec-charset=<cset> Convert all wide strings and character constants to character set <cset> 754404b540aSrobert 755404b540aSrobertfworking-directory 756404b540aSrobertC ObjC C++ ObjC++ 757404b540aSrobertGenerate a #line directive pointing at the current working directory 758404b540aSrobert 759404b540aSrobertfxref 760404b540aSrobertC++ ObjC++ 761404b540aSrobertEmit cross referencing information 762404b540aSrobert 763404b540aSrobertfzero-link 764404b540aSrobertObjC ObjC++ 765404b540aSrobertGenerate lazy class lookup (via objc_getClass()) for use in Zero-Link mode 766404b540aSrobert 767404b540aSrobertgen-decls 768404b540aSrobertObjC ObjC++ 769404b540aSrobertDump declarations to a .decl file 770404b540aSrobert 771404b540aSrobertidirafter 772404b540aSrobertC ObjC C++ ObjC++ Joined Separate 773404b540aSrobert-idirafter <dir> Add <dir> to the end of the system include path 774404b540aSrobert 775404b540aSrobertimacros 776404b540aSrobertC ObjC C++ ObjC++ Joined Separate 777404b540aSrobert-imacros <file> Accept definition of macros in <file> 778404b540aSrobert 779404b540aSrobertimultilib 780404b540aSrobertC ObjC C++ ObjC++ Joined Separate 781404b540aSrobert-imultilib <dir> Set <dir> to be the multilib include subdirectory 782404b540aSrobert 783404b540aSrobertinclude 784404b540aSrobertC ObjC C++ ObjC++ Joined Separate 785404b540aSrobert-include <file> Include the contents of <file> before other files 786404b540aSrobert 787404b540aSrobertiprefix 788404b540aSrobertC ObjC C++ ObjC++ Joined Separate 789404b540aSrobert-iprefix <path> Specify <path> as a prefix for next two options 790404b540aSrobert 791404b540aSrobertisysroot 792404b540aSrobertC ObjC C++ ObjC++ Joined Separate 793404b540aSrobert-isysroot <dir> Set <dir> to be the system root directory 794404b540aSrobert 795404b540aSrobertisystem 796404b540aSrobertC ObjC C++ ObjC++ Joined Separate 797404b540aSrobert-isystem <dir> Add <dir> to the start of the system include path 798404b540aSrobert 799404b540aSrobertiquote 800404b540aSrobertC ObjC C++ ObjC++ Joined Separate 801404b540aSrobert-iquote <dir> Add <dir> to the end of the quote include path 802404b540aSrobert 803404b540aSrobertiwithprefix 804404b540aSrobertC ObjC C++ ObjC++ Joined Separate 805404b540aSrobert-iwithprefix <dir> Add <dir> to the end of the system include path 806404b540aSrobert 807404b540aSrobertiwithprefixbefore 808404b540aSrobertC ObjC C++ ObjC++ Joined Separate 809404b540aSrobert-iwithprefixbefore <dir> Add <dir> to the end of the main include path 810404b540aSrobert 811404b540aSrobertlang-asm 812404b540aSrobertC Undocumented 813404b540aSrobert 814404b540aSrobertlang-fortran 815404b540aSrobertC Undocumented 816404b540aSrobert 817404b540aSrobertlang-objc 818404b540aSrobertC ObjC C++ ObjC++ Undocumented 819404b540aSrobert 820404b540aSrobertnostdinc 821404b540aSrobertC ObjC C++ ObjC++ 822404b540aSrobertDo not search standard system include directories (those specified with -isystem will still be used) 823404b540aSrobert 824404b540aSrobertnostdinc++ 825404b540aSrobertC++ ObjC++ 826404b540aSrobertDo not search standard system include directories for C++ 827404b540aSrobert 828404b540aSroberto 829404b540aSrobertC ObjC C++ ObjC++ Joined Separate 830404b540aSrobert; Documented in common.opt 831404b540aSrobert 832404b540aSrobertpedantic 833404b540aSrobertC ObjC C++ ObjC++ 834404b540aSrobert; Documented in common.opt 835404b540aSrobert 836404b540aSrobertpedantic-errors 837404b540aSrobertC ObjC C++ ObjC++ 838404b540aSrobert; Documented in common.opt 839404b540aSrobert 840404b540aSrobertprint-objc-runtime-info 841404b540aSrobertObjC ObjC++ 842404b540aSrobertGenerate C header of platform-specific features 843404b540aSrobert 844404b540aSrobertprint-pch-checksum 845404b540aSrobertC ObjC C++ ObjC++ 846404b540aSrobertPrint a checksum of the executable for PCH validity checking, and stop 847404b540aSrobert 848404b540aSrobertremap 849404b540aSrobertC ObjC C++ ObjC++ 850404b540aSrobertRemap file names when including files 851404b540aSrobert 852404b540aSrobertstd=c++98 853404b540aSrobertC++ ObjC++ 854404b540aSrobertConform to the ISO 1998 C++ standard 855404b540aSrobert 856404b540aSrobertstd=c89 857404b540aSrobertC ObjC 858404b540aSrobertConform to the ISO 1990 C standard 859404b540aSrobert 860404b540aSrobertstd=c99 861404b540aSrobertC ObjC 862404b540aSrobertConform to the ISO 1999 C standard 863404b540aSrobert 864404b540aSrobertstd=c9x 865404b540aSrobertC ObjC 866404b540aSrobertDeprecated in favor of -std=c99 867404b540aSrobert 868404b540aSrobertstd=gnu++98 869404b540aSrobertC++ ObjC++ 870404b540aSrobertConform to the ISO 1998 C++ standard with GNU extensions 871404b540aSrobert 872404b540aSrobertstd=gnu89 873404b540aSrobertC ObjC 874404b540aSrobertConform to the ISO 1990 C standard with GNU extensions 875404b540aSrobert 876404b540aSrobertstd=gnu99 877404b540aSrobertC ObjC 878404b540aSrobertConform to the ISO 1999 C standard with GNU extensions 879404b540aSrobert 880404b540aSrobertstd=gnu9x 881404b540aSrobertC ObjC 882404b540aSrobertDeprecated in favor of -std=gnu99 883404b540aSrobert 884404b540aSrobertstd=iso9899:1990 885404b540aSrobertC ObjC 886404b540aSrobertConform to the ISO 1990 C standard 887404b540aSrobert 888404b540aSrobertstd=iso9899:199409 889404b540aSrobertC ObjC 890404b540aSrobertConform to the ISO 1990 C standard as amended in 1994 891404b540aSrobert 892404b540aSrobertstd=iso9899:1999 893404b540aSrobertC ObjC 894404b540aSrobertConform to the ISO 1999 C standard 895404b540aSrobert 896404b540aSrobertstd=iso9899:199x 897404b540aSrobertC ObjC 898404b540aSrobertDeprecated in favor of -std=iso9899:1999 899404b540aSrobert 900404b540aSroberttraditional-cpp 901404b540aSrobertC ObjC C++ ObjC++ 902404b540aSrobertEnable traditional preprocessing 903404b540aSrobert 904404b540aSroberttrigraphs 905404b540aSrobertC ObjC C++ ObjC++ 906404b540aSrobert-trigraphs Support ISO C trigraphs 907404b540aSrobert 908404b540aSrobertundef 909404b540aSrobertC ObjC C++ ObjC++ 910404b540aSrobertDo not predefine system-specific and GCC-specific macros 911404b540aSrobert 912404b540aSrobertv 913404b540aSrobertC ObjC C++ ObjC++ 914404b540aSrobertEnable verbose output 915404b540aSrobert 916404b540aSrobertw 917404b540aSrobertC ObjC C++ ObjC++ 918404b540aSrobert; Documented in common.opt 919404b540aSrobert 920404b540aSrobert; This comment is to ensure we retain the blank line above. 921