1; Options for the C, ObjC, C++ and ObjC++ front ends. 2; Copyright (C) 2003-2013 Free Software Foundation, Inc. 3; 4; This file is part of GCC. 5; 6; GCC is free software; you can redistribute it and/or modify it under 7; the terms of the GNU General Public License as published by the Free 8; Software Foundation; either version 3, or (at your option) any later 9; version. 10; 11; GCC is distributed in the hope that it will be useful, but WITHOUT ANY 12; WARRANTY; without even the implied warranty of MERCHANTABILITY or 13; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14; for more details. 15; 16; You should have received a copy of the GNU General Public License 17; along with GCC; see the file COPYING3. If not see 18; <http://www.gnu.org/licenses/>. 19 20; See the GCC internals manual for a description of this file's format. 21 22; Please try to keep this file in ASCII collating order. 23 24Language 25C 26 27Language 28ObjC 29 30Language 31C++ 32 33Language 34ObjC++ 35 36-all-warnings 37C ObjC C++ ObjC++ Warning Alias(Wall) 38 39-ansi 40C ObjC C++ ObjC++ Alias(ansi) 41 42-assert 43C ObjC C++ ObjC++ Separate Alias(A) MissingArgError(assertion missing after %qs) 44 45-assert= 46C ObjC C++ ObjC++ Joined Alias(A) MissingArgError(assertion missing after %qs) 47 48-comments 49C ObjC C++ ObjC++ Alias(C) 50 51-comments-in-macros 52C ObjC C++ ObjC++ Alias(CC) 53 54-define-macro 55C ObjC C++ ObjC++ Separate Alias(D) MissingArgError(macro name missing after %qs) 56 57-define-macro= 58C ObjC C++ ObjC++ Joined Alias(D) MissingArgError(macro name missing after %qs) 59 60-dependencies 61C ObjC C++ ObjC++ Alias(M) 62 63-dump 64C ObjC C++ ObjC++ Separate Alias(d) 65 66-dump= 67C ObjC C++ ObjC++ Joined Alias(d) 68 69-imacros 70C ObjC C++ ObjC++ Separate Alias(imacros) MissingArgError(missing filename after %qs) 71 72-imacros= 73C ObjC C++ ObjC++ Joined Alias(imacros) MissingArgError(missing filename after %qs) 74 75-include 76C ObjC C++ ObjC++ Separate Alias(include) MissingArgError(missing filename after %qs) 77 78-include= 79C ObjC C++ ObjC++ Joined Alias(include) MissingArgError(missing filename after %qs) 80 81-include-barrier 82C ObjC C++ ObjC++ Alias(I, -) 83 84-include-directory 85C ObjC C++ ObjC++ Separate Alias(I) MissingArgError(missing path after %qs) 86 87-include-directory= 88C ObjC C++ ObjC++ Joined Alias(I) MissingArgError(missing path after %qs) 89 90-include-directory-after 91C ObjC C++ ObjC++ Separate Alias(idirafter) MissingArgError(missing path after %qs) 92 93-include-directory-after= 94C ObjC C++ ObjC++ Joined Alias(idirafter) MissingArgError(missing path after %qs) 95 96-include-prefix 97C ObjC C++ ObjC++ Separate Alias(iprefix) 98 99-include-prefix= 100C ObjC C++ ObjC++ JoinedOrMissing Alias(iprefix) 101 102-include-with-prefix 103C ObjC C++ ObjC++ Separate Alias(iwithprefix) 104 105-include-with-prefix= 106C ObjC C++ ObjC++ JoinedOrMissing Alias(iwithprefix) 107 108-include-with-prefix-after 109C ObjC C++ ObjC++ Separate Alias(iwithprefix) 110 111-include-with-prefix-after= 112C ObjC C++ ObjC++ JoinedOrMissing Alias(iwithprefix) 113 114-include-with-prefix-before 115C ObjC C++ ObjC++ Separate Alias(iwithprefixbefore) 116 117-include-with-prefix-before= 118C ObjC C++ ObjC++ JoinedOrMissing Alias(iwithprefixbefore) 119 120-no-integrated-cpp 121Driver Alias(no-integrated-cpp) 122 123-no-line-commands 124C ObjC C++ ObjC++ Alias(P) 125 126-no-standard-includes 127C ObjC C++ ObjC++ Alias(nostdinc) 128 129-no-warnings 130C ObjC C++ ObjC++ Alias(w) 131 132-output 133C ObjC C++ ObjC++ Separate Alias(o) 134 135-output= 136C ObjC C++ ObjC++ Joined Alias(o) 137 138-output-pch= 139C ObjC C++ ObjC++ Joined Separate 140 141-pedantic 142C ObjC C++ ObjC++ Alias(pedantic) 143 144-preprocess 145C ObjC C++ ObjC++ Undocumented Alias(E) 146 147-print-missing-file-dependencies 148C ObjC C++ ObjC++ Alias(MG) 149 150-trace-includes 151C ObjC C++ ObjC++ Alias(H) 152 153-traditional 154Driver Alias(traditional) 155 156-traditional-cpp 157C ObjC C++ ObjC++ Alias(traditional-cpp) 158 159-trigraphs 160C ObjC C++ ObjC++ Alias(trigraphs) 161 162-undefine-macro 163C ObjC C++ ObjC++ Separate Alias(U) MissingArgError(macro name missing after %qs) 164 165-undefine-macro= 166C ObjC C++ ObjC++ Joined Alias(U) MissingArgError(macro name missing after %qs) 167 168-user-dependencies 169C ObjC C++ ObjC++ Alias(MM) 170 171-verbose 172Common C ObjC C++ ObjC++ Alias(v) 173 174-write-dependencies 175C ObjC C++ ObjC++ NoDriverArg Separate Alias(MD) MissingArgError(missing filename after %qs) 176 177-write-user-dependencies 178C ObjC C++ ObjC++ NoDriverArg Separate Alias(MMD) MissingArgError(missing filename after %qs) 179 180A 181C ObjC C++ ObjC++ Joined Separate MissingArgError(assertion missing after %qs) 182-A<question>=<answer> Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question> 183 184C 185C ObjC C++ ObjC++ 186Do not discard comments 187 188CC 189C ObjC C++ ObjC++ 190Do not discard comments in macro expansions 191 192D 193C ObjC C++ ObjC++ Joined Separate MissingArgError(macro name missing after %qs) 194-D<macro>[=<val>] Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1 195 196E 197C ObjC C++ ObjC++ Undocumented Var(flag_preprocess_only) 198 199F 200Driver C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs) 201-F <dir> Add <dir> to the end of the main framework include path 202 203H 204C ObjC C++ ObjC++ 205Print the name of header files as they are used 206 207I 208C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs) 209-I <dir> Add <dir> to the end of the main include path 210 211M 212C ObjC C++ ObjC++ 213Generate make dependencies 214 215MD 216C ObjC C++ ObjC++ NoDriverArg Separate MissingArgError(missing filename after %qs) 217Generate make dependencies and compile 218 219MF 220C ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs) 221-MF <file> Write dependency output to the given file 222 223MG 224C ObjC C++ ObjC++ 225Treat missing header files as generated files 226 227MM 228C ObjC C++ ObjC++ 229Like -M but ignore system header files 230 231MMD 232C ObjC C++ ObjC++ NoDriverArg Separate MissingArgError(missing filename after %qs) 233Like -MD but ignore system header files 234 235MP 236C ObjC C++ ObjC++ 237Generate phony targets for all headers 238 239MQ 240C ObjC C++ ObjC++ Joined Separate MissingArgError(missing makefile target after %qs) 241-MQ <target> Add a MAKE-quoted target 242 243MT 244C ObjC C++ ObjC++ Joined Separate MissingArgError(missing makefile target after %qs) 245-MT <target> Add an unquoted target 246 247P 248C ObjC C++ ObjC++ 249Do not generate #line directives 250 251U 252C ObjC C++ ObjC++ Joined Separate MissingArgError(macro name missing after %qs) 253-U<macro> Undefine <macro> 254 255Wabi 256C ObjC C++ ObjC++ LTO Var(warn_abi) Warning 257Warn about things that will change when compiling with an ABI-compliant compiler 258 259Wabi-tag 260C++ ObjC++ Var(warn_abi_tag) Warning 261Warn if a subobject has an abi_tag attribute that the complete object type does not have 262 263Wpsabi 264C ObjC C++ ObjC++ LTO Var(warn_psabi) Init(1) Undocumented 265 266Waddress 267C ObjC C++ ObjC++ Var(warn_address) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 268Warn about suspicious uses of memory addresses 269 270Wall 271C ObjC C++ ObjC++ Warning 272Enable most warning messages 273 274Warray-bounds 275LangEnabledBy(C ObjC C++ ObjC++,Wall) 276; in common.opt 277 278Wassign-intercept 279ObjC ObjC++ Var(warn_assign_intercept) Warning 280Warn whenever an Objective-C assignment is being intercepted by the garbage collector 281 282Wbad-function-cast 283C ObjC Var(warn_bad_function_cast) Warning 284Warn about casting functions to incompatible types 285 286Wbuiltin-macro-redefined 287C ObjC C++ ObjC++ Warning 288Warn when a built-in preprocessor macro is undefined or redefined 289 290Wc++-compat 291C ObjC Var(warn_cxx_compat) Warning 292Warn about C constructs that are not in the common subset of C and C++ 293 294Wc++0x-compat 295C++ ObjC++ Var(warn_cxx0x_compat) Warning LangEnabledBy(C++ ObjC++,Wall) 296Deprecated in favor of -Wc++11-compat 297 298Wc++11-compat 299C++ ObjC++ Warning Alias(Wc++0x-compat) 300Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 2011 301 302Wcast-qual 303C ObjC C++ ObjC++ Var(warn_cast_qual) Warning 304Warn about casts which discard qualifiers 305 306Wchar-subscripts 307C ObjC C++ ObjC++ Var(warn_char_subscripts) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 308Warn about subscripts whose type is \"char\" 309 310Wclobbered 311C ObjC C++ ObjC++ Var(warn_clobbered) Warning EnabledBy(Wextra) 312Warn about variables that might be changed by \"longjmp\" or \"vfork\" 313 314Wcomment 315C ObjC C++ ObjC++ Warning 316Warn about possibly nested block comments, and C++ comments spanning more than one physical line 317 318Wcomments 319C ObjC C++ ObjC++ Warning Alias(Wcomment) 320Synonym for -Wcomment 321 322Wconversion 323C ObjC C++ ObjC++ Var(warn_conversion) Warning 324Warn for implicit type conversions that may change a value 325 326Wconversion-null 327C++ ObjC++ Var(warn_conversion_null) Init(1) Warning 328Warn for converting NULL from/to a non-pointer type 329 330Wctor-dtor-privacy 331C++ ObjC++ Var(warn_ctor_dtor_privacy) Warning 332Warn when all constructors and destructors are private 333 334Wdeclaration-after-statement 335C ObjC Var(warn_declaration_after_statement) Warning 336Warn when a declaration is found after a statement 337 338Wdelete-non-virtual-dtor 339C++ ObjC++ Var(warn_delnonvdtor) Warning LangEnabledBy(C++ ObjC++,Wall) 340Warn about deleting polymorphic objects with non-virtual destructors 341 342Wdelete-non-virtual-dtor 343LangEnabledBy(C++ ObjC++,Weffc++) 344; 345 346Wdeprecated 347C C++ ObjC ObjC++ Var(warn_deprecated) Init(1) Warning 348Warn if a deprecated compiler feature, class, method, or field is used 349 350Wdiv-by-zero 351C ObjC C++ ObjC++ Var(warn_div_by_zero) Init(1) Warning 352Warn about compile-time integer division by zero 353 354Weffc++ 355C++ ObjC++ Var(warn_ecpp) Warning 356Warn about violations of Effective C++ style rules 357 358Wempty-body 359C ObjC C++ ObjC++ Var(warn_empty_body) Warning EnabledBy(Wextra) 360Warn about an empty body in an if or else statement 361 362Wendif-labels 363C ObjC C++ ObjC++ Warning 364Warn about stray tokens after #elif and #endif 365 366Wenum-compare 367C ObjC C++ ObjC++ Var(warn_enum_compare) Init(-1) Warning LangEnabledBy(C ObjC,Wall) 368Warn about comparison of different enum types 369 370Wenum-compare 371LangEnabledBy(C ObjC,Wc++-compat) 372; 373 374Werror 375C ObjC C++ ObjC++ 376; Documented in common.opt 377 378Werror-implicit-function-declaration 379C ObjC RejectNegative Warning Alias(Werror=, implicit-function-declaration) 380This switch is deprecated; use -Werror=implicit-function-declaration instead 381 382Wfloat-equal 383C ObjC C++ ObjC++ Var(warn_float_equal) Warning 384Warn if testing floating point numbers for equality 385 386Wformat 387C ObjC C++ ObjC++ Warning Alias(Wformat=, 1, 0) 388Warn about printf/scanf/strftime/strfmon format string anomalies 389 390Wformat-contains-nul 391C ObjC C++ ObjC++ Var(warn_format_contains_nul) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 1, 0) 392Warn about format strings that contain NUL bytes 393 394Wformat-extra-args 395C ObjC C++ ObjC++ Var(warn_format_extra_args) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 1, 0) 396Warn if passing too many arguments to a function for its format string 397 398Wformat-nonliteral 399C ObjC C++ ObjC++ Var(warn_format_nonliteral) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0) 400Warn about format strings that are not literals 401 402Wformat-security 403C ObjC C++ ObjC++ Var(warn_format_security) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0) 404Warn about possible security problems with format functions 405 406Wformat-y2k 407C ObjC C++ ObjC++ Var(warn_format_y2k) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=,warn_format >= 2, 0) 408Warn about strftime formats yielding 2-digit years 409 410Wformat-zero-length 411C ObjC C++ ObjC++ Var(warn_format_zero_length) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=,warn_format >= 1, 0) 412Warn about zero-length formats 413 414Wformat= 415C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) 416Warn about printf/scanf/strftime/strfmon format string anomalies 417 418Wignored-qualifiers 419C C++ Var(warn_ignored_qualifiers) Warning EnabledBy(Wextra) 420Warn whenever type qualifiers are ignored. 421 422Winit-self 423C ObjC C++ ObjC++ Var(warn_init_self) Warning LangEnabledBy(C++ ObjC++,Wall) 424Warn about variables which are initialized to themselves 425 426Wimplicit 427C ObjC Var(warn_implicit) Warning LangEnabledBy(C ObjC,Wall) 428Warn about implicit declarations 429 430Wdouble-promotion 431C ObjC C++ ObjC++ Var(warn_double_promotion) Warning 432Warn about implicit conversions from \"float\" to \"double\" 433 434Wimplicit-function-declaration 435C ObjC Var(warn_implicit_function_declaration) Init(-1) Warning LangEnabledBy(C ObjC,Wimplicit) 436Warn about implicit function declarations 437 438Wimplicit-int 439C ObjC Var(warn_implicit_int) Warning LangEnabledBy(C ObjC,Wimplicit) 440Warn when a declaration does not specify a type 441 442Wimport 443C ObjC C++ ObjC++ Undocumented Ignore 444 445Winherited-variadic-ctor 446C++ ObjC++ Var(warn_inh_var_ctor) Init(1) Warning 447Warn about C++11 inheriting constructors when the base has a variadic constructor 448 449Wint-to-pointer-cast 450C ObjC C++ ObjC++ Var(warn_int_to_pointer_cast) Init(1) Warning 451Warn when there is a cast to a pointer from an integer of a different size 452 453Winvalid-offsetof 454C++ ObjC++ Var(warn_invalid_offsetof) Init(1) Warning 455Warn about invalid uses of the \"offsetof\" macro 456 457Winvalid-pch 458C ObjC C++ ObjC++ Warning 459Warn about PCH files that are found but not used 460 461Wjump-misses-init 462C ObjC Var(warn_jump_misses_init) Warning LangEnabledby(C ObjC,Wc++-compat) 463Warn when a jump misses a variable initialization 464 465Wliteral-suffix 466C++ ObjC++ Warning 467Warn when a string or character literal is followed by a ud-suffix which does not begin with an underscore. 468 469Wlogical-op 470C ObjC C++ ObjC++ Var(warn_logical_op) Init(0) Warning 471Warn when a logical operator is suspiciously always evaluating to true or false 472 473Wlong-long 474C ObjC C++ ObjC++ Var(warn_long_long) Init(-1) Warning 475Do not warn about using \"long long\" when -pedantic 476 477Wmain 478C ObjC C++ ObjC++ Var(warn_main) Init(-1) Warning LangEnabledBy(C ObjC,Wall, 2, 0) 479Warn about suspicious declarations of \"main\" 480 481Wmain 482LangEnabledBy(C ObjC C++ ObjC++,Wpedantic, 2, 0) 483; 484 485Wmissing-braces 486C ObjC C++ ObjC++ Var(warn_missing_braces) Warning LangEnabledBy(C ObjC,Wall) 487Warn about possibly missing braces around initializers 488 489Wmissing-declarations 490C ObjC C++ ObjC++ Var(warn_missing_declarations) Warning 491Warn about global functions without previous declarations 492 493Wmissing-field-initializers 494C ObjC C++ ObjC++ Var(warn_missing_field_initializers) Warning EnabledBy(Wextra) 495Warn about missing fields in struct initializers 496 497Wsizeof-pointer-memaccess 498C ObjC C++ ObjC++ Var(warn_sizeof_pointer_memaccess) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 499 500Wsuggest-attribute=format 501C ObjC C++ ObjC++ Var(warn_suggest_attribute_format) Warning 502Warn about functions which might be candidates for format attributes 503 504Wswitch 505C ObjC C++ ObjC++ Var(warn_switch) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 506Warn about enumerated switches, with no default, missing a case 507 508Wswitch-default 509C ObjC C++ ObjC++ Var(warn_switch_default) Warning 510Warn about enumerated switches missing a \"default:\" statement 511 512Wswitch-enum 513C ObjC C++ ObjC++ Var(warn_switch_enum) Warning 514Warn about all enumerated switches missing a specific case 515 516Wmissing-format-attribute 517C ObjC C++ ObjC++ Alias(Wsuggest-attribute=format) 518; 519 520Wmissing-include-dirs 521C ObjC C++ ObjC++ Warning 522Warn about user-specified include directories that do not exist 523 524Wmissing-parameter-type 525C ObjC Var(warn_missing_parameter_type) Warning EnabledBy(Wextra) 526Warn about function parameters declared without a type specifier in K&R-style functions 527 528Wmissing-prototypes 529C ObjC Var(warn_missing_prototypes) Warning 530Warn about global functions without prototypes 531 532Wmudflap 533C ObjC C++ ObjC++ Var(warn_mudflap) Init(1) Warning 534Warn about constructs not instrumented by -fmudflap 535 536Wmultichar 537C ObjC C++ ObjC++ Warning 538Warn about use of multi-character character constants 539 540Wnarrowing 541C ObjC C++ ObjC++ Warning Var(warn_narrowing) Init(-1) LangEnabledBy(C++ ObjC++,Wall) 542Warn about narrowing conversions within { } that are ill-formed in C++11 543 544Wnarrowing 545C ObjC C++ ObjC++ LangEnabledBy(C++ ObjC++,Wc++0x-compat) 546; 547 548Wnested-externs 549C ObjC Var(warn_nested_externs) Warning 550Warn about \"extern\" declarations not at file scope 551 552Wnoexcept 553C++ ObjC++ Var(warn_noexcept) Warning 554Warn when a noexcept expression evaluates to false even though the expression can't actually throw 555 556Wnon-template-friend 557C++ ObjC++ Var(warn_nontemplate_friend) Init(1) Warning 558Warn when non-templatized friend functions are declared within a template 559 560Wnon-virtual-dtor 561C++ ObjC++ Var(warn_nonvdtor) Warning 562Warn about non-virtual destructors 563 564Wnonnull 565C ObjC C++ ObjC++ Var(warn_nonnull) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=,warn_format >= 1,0) 566Warn about NULL being passed to argument slots marked as requiring non-NULL 567 568Wnonnull 569C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall) 570; 571 572Wnormalized= 573C ObjC C++ ObjC++ Joined Warning 574-Wnormalized=<id|nfc|nfkc> Warn about non-normalised Unicode strings 575 576Wold-style-cast 577C++ ObjC++ Var(warn_old_style_cast) Warning 578Warn if a C-style cast is used in a program 579 580Wold-style-declaration 581C ObjC Var(warn_old_style_declaration) Warning EnabledBy(Wextra) 582Warn for obsolescent usage in a declaration 583 584Wold-style-definition 585C ObjC Var(warn_old_style_definition) Warning 586Warn if an old-style parameter definition is used 587 588Woverlength-strings 589C ObjC C++ ObjC++ Var(warn_overlength_strings) Warning LangEnabledBy(C ObjC C++ ObjC++,Wpedantic) 590Warn if a string is longer than the maximum portable length specified by the standard 591 592Woverloaded-virtual 593C++ ObjC++ Var(warn_overloaded_virtual) Warning 594Warn about overloaded virtual function names 595 596Woverride-init 597C ObjC Var(warn_override_init) Warning EnabledBy(Wextra) 598Warn about overriding initializers without side effects 599 600Wpacked-bitfield-compat 601C ObjC C++ ObjC++ Var(warn_packed_bitfield_compat) Init(-1) Warning 602Warn about packed bit-fields whose offset changed in GCC 4.4 603 604Wparentheses 605C ObjC C++ ObjC++ Var(warn_parentheses) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 606Warn about possibly missing parentheses 607 608Wpedantic 609C ObjC C++ ObjC++ Warning 610; Documented in common.opt 611 612Wpmf-conversions 613C++ ObjC++ Var(warn_pmf2ptr) Init(1) Warning 614Warn when converting the type of pointers to member functions 615 616Wpointer-arith 617C ObjC C++ ObjC++ Var(warn_pointer_arith) Warning 618Warn about function pointer arithmetic 619 620Wpointer-sign 621C ObjC Var(warn_pointer_sign) Warning LangEnabledBy(C ObjC,Wall) 622Warn when a pointer differs in signedness in an assignment 623 624Wpointer-sign 625C ObjC LangEnabledBy(C ObjC,Wpedantic) 626; 627 628Wpointer-to-int-cast 629C ObjC Var(warn_pointer_to_int_cast) Init(1) Warning 630Warn when a pointer is cast to an integer of a different size 631 632Wpragmas 633C ObjC C++ ObjC++ Var(warn_pragmas) Init(1) Warning 634Warn about misuses of pragmas 635 636Wproperty-assign-default 637ObjC ObjC++ Var(warn_property_assign_default) Init(1) Warning 638Warn if a property for an Objective-C object has no assign semantics specified 639 640Wprotocol 641ObjC ObjC++ Var(warn_protocol) Init(1) Warning 642Warn if inherited methods are unimplemented 643 644Wredundant-decls 645C ObjC C++ ObjC++ Var(warn_redundant_decls) Warning 646Warn about multiple declarations of the same object 647 648Wreorder 649C++ ObjC++ Var(warn_reorder) Warning LangEnabledBy(C++ ObjC++,Wall) 650Warn when the compiler reorders code 651 652Wreturn-local-addr 653C ObjC C++ ObjC++ Var(warn_return_local_addr) Init(1) Warning 654Warn about returning a pointer/reference to a local or temporary variable. 655 656Wreturn-type 657C ObjC C++ ObjC++ Var(warn_return_type) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 658Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++) 659 660Wselector 661ObjC ObjC++ Var(warn_selector) Warning 662Warn if a selector has multiple methods 663 664Wsequence-point 665C ObjC C++ ObjC++ Var(warn_sequence_point) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 666Warn about possible violations of sequence point rules 667 668Wsign-compare 669C ObjC C++ ObjC++ Var(warn_sign_compare) Warning LangEnabledBy(C++ ObjC++,Wall) 670Warn about signed-unsigned comparisons 671 672Wsign-compare 673C ObjC C++ ObjC++ EnabledBy(Wextra) 674; 675 676Wsign-conversion 677C ObjC C++ ObjC++ Var(warn_sign_conversion) LangEnabledBy(C ObjC,Wconversion) 678Warn for implicit type conversions between signed and unsigned integers 679 680Wsign-promo 681C++ ObjC++ Var(warn_sign_promo) Warning 682Warn when overload promotes from unsigned to signed 683 684Wstrict-null-sentinel 685C++ ObjC++ Warning Var(warn_strict_null_sentinel) 686Warn about uncasted NULL used as sentinel 687 688Wstrict-prototypes 689C ObjC Var(warn_strict_prototypes) Warning 690Warn about unprototyped function declarations 691 692Wstrict-aliasing= 693C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall, 3, 0) 694; 695 696Wstrict-overflow= 697C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) 698; 699 700Wstrict-selector-match 701ObjC ObjC++ Var(warn_strict_selector_match) Warning 702Warn if type signatures of candidate methods do not match exactly 703 704Wsync-nand 705C C++ Var(warn_sync_nand) Init(1) Warning 706Warn when __sync_fetch_and_nand and __sync_nand_and_fetch built-in functions are used 707 708Wsynth 709C++ ObjC++ Var(warn_synth) Warning 710Deprecated. This switch has no effect 711 712Wsystem-headers 713C ObjC C++ ObjC++ Warning 714; Documented in common.opt 715 716Wtraditional 717C ObjC Var(warn_traditional) Warning 718Warn about features not present in traditional C 719 720Wtraditional-conversion 721C ObjC Var(warn_traditional_conversion) Warning 722Warn of prototypes causing type conversions different from what would happen in the absence of prototype 723 724Wtrigraphs 725C ObjC C++ ObjC++ Warning 726Warn if trigraphs are encountered that might affect the meaning of the program 727 728Wundeclared-selector 729ObjC ObjC++ Var(warn_undeclared_selector) Warning 730Warn about @selector()s without previously declared methods 731 732Wundef 733C ObjC C++ ObjC++ Warning 734Warn if an undefined macro is used in an #if directive 735 736Wuninitialized 737C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall) 738; 739 740Wmaybe-uninitialized 741C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall) 742; 743 744Wunknown-pragmas 745C ObjC C++ ObjC++ Warning Var(warn_unknown_pragmas) LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) 746Warn about unrecognized pragmas 747 748Wunsuffixed-float-constants 749C ObjC Var(warn_unsuffixed_float_constants) Warning 750Warn about unsuffixed float constants 751 752Wunused 753C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall) 754; documented in common.opt 755 756Wunused-local-typedefs 757C ObjC C++ ObjC++ Var(warn_unused_local_typedefs) Warning EnabledBy(Wunused) 758Warn when typedefs locally defined in a function are not used 759 760Wunused-macros 761C ObjC C++ ObjC++ Var(cpp_warn_unused_macros) Warning 762Warn about macros defined in the main file that are not used 763 764Wunused-result 765C ObjC C++ ObjC++ Var(warn_unused_result) Init(1) Warning 766Warn if a caller of a function, marked with attribute warn_unused_result, does not use its return value 767 768Wvariadic-macros 769C ObjC C++ ObjC++ Var(cpp_warn_variadic_macros) Init(1) Warning 770Warn about using variadic macros 771 772Wvarargs 773C ObjC C++ ObjC++ Warning Var(warn_varargs) Init(1) 774Warn about questionable usage of the macros used to retrieve variable arguments 775 776Wvla 777C ObjC C++ ObjC++ Var(warn_vla) Init(-1) Warning 778Warn if a variable length array is used 779 780Wvolatile-register-var 781C ObjC C++ ObjC++ Var(warn_volatile_register_var) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 782Warn when a register variable is declared volatile 783 784Wvirtual-move-assign 785C++ ObjC++ Var(warn_virtual_move_assign) Warning Init(1) 786Warn if a virtual base has a non-trivial move assignment operator 787 788Wwrite-strings 789C ObjC C++ ObjC++ Var(warn_write_strings) Warning 790In 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. 791 792Wzero-as-null-pointer-constant 793C++ ObjC++ Var(warn_zero_as_null_pointer_constant) Warning 794Warn when a literal '0' is used as null pointer 795 796Wuseless-cast 797C++ ObjC++ Var(warn_useless_cast) Warning 798Warn about useless casts 799 800ansi 801C ObjC C++ ObjC++ 802A synonym for -std=c89 (for C) or -std=c++98 (for C++) 803 804d 805C ObjC C++ ObjC++ Joined 806; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD? 807 808faccess-control 809C++ ObjC++ Var(flag_access_control) Init(1) 810Enforce class member access control semantics 811 812fada-spec-parent= 813C ObjC C++ ObjC++ RejectNegative Joined Var(ada_specs_parent) 814-fada-spec-parent=unit Dump Ada specs as child units of given parent 815 816fall-virtual 817C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 818 819fallow-parameterless-variadic-functions 820C ObjC Var(flag_allow_parameterless_variadic_functions) 821Allow variadic functions without named parameter 822 823falt-external-templates 824C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 825No longer supported 826 827fasm 828C ObjC C++ ObjC++ Var(flag_no_asm, 0) 829Recognize the \"asm\" keyword 830 831; Define extra predefined macros for use in libgcc. 832fbuilding-libgcc 833C ObjC C++ ObjC++ Undocumented Var(flag_building_libgcc) 834 835fbuiltin 836C ObjC C++ ObjC++ Var(flag_no_builtin, 0) 837Recognize built-in functions 838 839fbuiltin- 840C ObjC C++ ObjC++ Joined 841 842fcanonical-system-headers 843C ObjC C++ ObjC++ 844Where shorter, use canonicalized paths to systems headers. 845 846fcheck-new 847C++ ObjC++ Var(flag_check_new) 848Check the return value of new 849 850fcond-mismatch 851C ObjC C++ ObjC++ 852Allow the arguments of the '?' operator to have different types 853 854fconserve-space 855C++ ObjC++ Var(flag_conserve_space) 856Does nothing. Preserved for backward compatibility. 857 858fconstant-string-class= 859ObjC ObjC++ Joined MissingArgError(no class name specified with %qs) 860-fconst-string-class=<name> Use class <name> for constant strings 861 862fconstexpr-depth= 863C++ ObjC++ Joined RejectNegative UInteger Var(max_constexpr_depth) Init(512) 864-fconstexpr-depth=<number> Specify maximum constexpr recursion depth 865 866fdebug-cpp 867C ObjC C++ ObjC++ 868Emit debug annotations during preprocessing 869 870fdeduce-init-list 871C++ ObjC++ Var(flag_deduce_init_list) Init(0) 872-fdeduce-init-list enable deduction of std::initializer_list for a template type parameter from a brace-enclosed initializer-list 873 874fdefault-inline 875C++ ObjC++ Ignore 876Does nothing. Preserved for backward compatibility. 877 878fdirectives-only 879C ObjC C++ ObjC++ 880Preprocess directives only. 881 882fdollars-in-identifiers 883C ObjC C++ ObjC++ 884Permit '$' as an identifier character 885 886fdump-ada-spec 887C ObjC C++ ObjC++ RejectNegative Var(flag_dump_ada_spec) 888Write all declarations as Ada code transitively 889 890fdump-ada-spec-slim 891C ObjC C++ ObjC++ RejectNegative Var(flag_dump_ada_spec_slim) 892Write all declarations as Ada code for the given file only 893 894felide-constructors 895C++ ObjC++ Var(flag_elide_constructors) Init(1) 896 897fenforce-eh-specs 898C++ ObjC++ Var(flag_enforce_eh_specs) Init(1) 899Generate code to check exception specifications 900 901fenum-int-equiv 902C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 903 904fexec-charset= 905C ObjC C++ ObjC++ Joined RejectNegative 906-fexec-charset=<cset> Convert all strings and character constants to character set <cset> 907 908fextended-identifiers 909C ObjC C++ ObjC++ 910Permit universal character names (\\u and \\U) in identifiers 911 912finput-charset= 913C ObjC C++ ObjC++ Joined RejectNegative 914-finput-charset=<cset> Specify the default character set for source files 915 916fextern-tls-init 917C++ ObjC++ Var(flag_extern_tls_init) Init(-1) 918Support dynamic initialization of thread-local variables in a different translation unit 919 920fexternal-templates 921C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 922 923ffor-scope 924C++ ObjC++ Var(flag_new_for_scope) Init(1) 925Scope of for-init-statement variables is local to the loop 926 927ffreestanding 928C ObjC C++ ObjC++ 929Do not assume that standard C libraries and \"main\" exist 930 931fgnu-keywords 932C++ ObjC++ Var(flag_no_gnu_keywords, 0) 933Recognize GNU-defined keywords 934 935fgnu-runtime 936ObjC ObjC++ Report RejectNegative Var(flag_next_runtime,0) Init(NEXT_OBJC_RUNTIME) 937Generate code for GNU runtime environment 938 939fgnu89-inline 940C ObjC Var(flag_gnu89_inline) Init(-1) 941Use traditional GNU semantics for inline functions 942 943fguiding-decls 944C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 945 946fhandle-exceptions 947C++ ObjC++ Optimization Alias(fexceptions) Warn({-fhandle-exceptions has been renamed -fexceptions (and is now on by default)}) 948 949fhonor-std 950C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 951 952fhosted 953C ObjC 954Assume normal C execution environment 955 956fhuge-objects 957C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 958No longer supported 959 960fimplement-inlines 961C++ ObjC++ Var(flag_implement_inlines) Init(1) 962Export functions even if they can be inlined 963 964fimplicit-inline-templates 965C++ ObjC++ Var(flag_implicit_inline_templates) Init(1) 966Emit implicit instantiations of inline templates 967 968fimplicit-templates 969C++ ObjC++ Var(flag_implicit_templates) Init(1) 970Emit implicit instantiations of templates 971 972ffriend-injection 973C++ ObjC++ Var(flag_friend_injection) 974Inject friend functions into enclosing namespace 975 976fkeep-inline-dllexport 977C C++ ObjC ObjC++ Var(flag_keep_inline_dllexport) Init(1) Report Condition(TARGET_DLLIMPORT_DECL_ATTRIBUTES) 978Don't emit dllexported inline functions unless needed 979 980flabels-ok 981C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 982 983flax-vector-conversions 984C ObjC C++ ObjC++ Var(flag_lax_vector_conversions) 985Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types. 986 987fms-extensions 988C ObjC C++ ObjC++ Var(flag_ms_extensions) 989Don't warn about uses of Microsoft extensions 990 991fmudflap 992C ObjC C++ ObjC++ RejectNegative Report Var(flag_mudflap) 993Add mudflap bounds-checking instrumentation for single-threaded program 994 995fmudflapth 996C ObjC C++ ObjC++ RejectNegative Report Var(flag_mudflap,2) 997Add mudflap bounds-checking instrumentation for multi-threaded program 998 999fmudflapir 1000C ObjC C++ ObjC++ RejectNegative Report Var(flag_mudflap_ignore_reads) 1001Ignore read operations when inserting mudflap instrumentation 1002 1003fname-mangling-version- 1004C++ ObjC++ Joined Ignore Warn(switch %qs is no longer supported) 1005 1006fnew-abi 1007C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1008 1009fnext-runtime 1010ObjC ObjC++ Report RejectNegative Var(flag_next_runtime) 1011Generate code for NeXT (Apple Mac OS X) runtime environment 1012 1013fnil-receivers 1014ObjC ObjC++ Var(flag_nil_receivers) Init(1) 1015Assume that receivers of Objective-C messages may be nil 1016 1017fnonansi-builtins 1018C++ ObjC++ Var(flag_no_nonansi_builtin, 0) 1019 1020fnonnull-objects 1021C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1022 1023fnothrow-opt 1024C++ ObjC++ Optimization Var(flag_nothrow_opt) 1025Treat a throw() exception specification as noexcept to improve code size 1026 1027fobjc-abi-version= 1028ObjC ObjC++ Joined Report RejectNegative UInteger Var(flag_objc_abi) 1029Specify which ABI to use for Objective-C family code and meta-data generation. 1030 1031; Generate special '- .cxx_construct' and '- .cxx_destruct' methods 1032; to initialize any non-POD ivars in Objective-C++ classes. 1033fobjc-call-cxx-cdtors 1034ObjC++ Var(flag_objc_call_cxx_cdtors) 1035Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed 1036 1037fobjc-direct-dispatch 1038ObjC ObjC++ Var(flag_objc_direct_dispatch) 1039Allow fast jumps to the message dispatcher 1040 1041; Nonzero means that we will allow new ObjC exception syntax (@throw, 1042; @try, etc.) in source code. 1043fobjc-exceptions 1044ObjC ObjC++ Var(flag_objc_exceptions) 1045Enable Objective-C exception and synchronization syntax 1046 1047fobjc-gc 1048ObjC ObjC++ Var(flag_objc_gc) 1049Enable garbage collection (GC) in Objective-C/Objective-C++ programs 1050 1051fobjc-nilcheck 1052ObjC ObjC++ Var(flag_objc_nilcheck,1) 1053Enable inline checks for nil receivers with the NeXT runtime and ABI version 2. 1054 1055; Nonzero means that we generate NeXT setjmp based exceptions. 1056fobjc-sjlj-exceptions 1057ObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1) 1058Enable Objective-C setjmp exception handling runtime 1059 1060fobjc-std=objc1 1061ObjC ObjC++ Var(flag_objc1_only) 1062Conform to the Objective-C 1.0 language as implemented in GCC 4.0 1063 1064fopenmp 1065C ObjC C++ ObjC++ Var(flag_openmp) 1066Enable OpenMP (implies -frecursive in Fortran) 1067 1068foperator-names 1069C++ ObjC++ 1070Recognize C++ keywords like \"compl\" and \"xor\" 1071 1072foptional-diags 1073C++ ObjC++ Ignore 1074Does nothing. Preserved for backward compatibility. 1075 1076fpch-deps 1077C ObjC C++ ObjC++ 1078 1079fpch-preprocess 1080C ObjC C++ ObjC++ 1081Look for and use PCH files even when preprocessing 1082 1083fpermissive 1084C++ ObjC++ Var(flag_permissive) 1085Downgrade conformance errors to warnings 1086 1087fplan9-extensions 1088C ObjC Var(flag_plan9_extensions) 1089Enable Plan 9 language extensions 1090 1091fpreprocessed 1092C ObjC C++ ObjC++ 1093Treat the input file as already preprocessed 1094 1095ftrack-macro-expansion 1096C ObjC C++ ObjC++ JoinedOrMissing RejectNegative UInteger 1097; converted into ftrack-macro-expansion= 1098 1099ftrack-macro-expansion= 1100C ObjC C++ ObjC++ JoinedOrMissing RejectNegative UInteger 1101-ftrack-macro-expansion=<0|1|2> Track locations of tokens coming from macro expansion and display them in error messages 1102 1103fpretty-templates 1104C++ ObjC++ Var(flag_pretty_templates) Init(1) 1105-fno-pretty-templates Do not pretty-print template specializations as the template signature followed by the arguments 1106 1107freplace-objc-classes 1108ObjC ObjC++ Var(flag_replace_objc_classes) 1109Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime 1110 1111frepo 1112C++ ObjC++ 1113Enable automatic template instantiation 1114 1115frtti 1116C++ ObjC++ Optimization Var(flag_rtti) Init(1) 1117Generate run time type descriptor information 1118 1119fshort-double 1120C ObjC C++ ObjC++ Optimization Var(flag_short_double) 1121Use the same size for double as for float 1122 1123fshort-enums 1124C ObjC C++ ObjC++ Optimization Var(flag_short_enums) 1125Use the narrowest integer type possible for enumeration types 1126 1127fshort-wchar 1128C ObjC C++ ObjC++ Optimization Var(flag_short_wchar) 1129Force the underlying type for \"wchar_t\" to be \"unsigned short\" 1130 1131fsigned-bitfields 1132C ObjC C++ ObjC++ Var(flag_signed_bitfields) Init(1) 1133When \"signed\" or \"unsigned\" is not given make the bitfield signed 1134 1135fsigned-char 1136C ObjC C++ ObjC++ LTO Var(flag_signed_char) 1137Make \"char\" signed by default 1138 1139fsquangle 1140C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1141 1142fstats 1143C++ ObjC++ Var(flag_detailed_statistics) 1144Display statistics accumulated during compilation 1145 1146fstrict-enums 1147C++ ObjC++ Optimization Var(flag_strict_enums) 1148Assume that values of enumeration type are always within the minimum range of that type 1149 1150fstrict-prototype 1151C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1152 1153ftabstop= 1154C ObjC C++ ObjC++ Joined RejectNegative UInteger 1155-ftabstop=<number> Distance between tab stops for column reporting 1156 1157ftemplate-backtrace-limit= 1158C++ ObjC++ Joined RejectNegative UInteger Var(template_backtrace_limit) Init(10) 1159Set the maximum number of template instantiation notes for a single warning or error 1160 1161ftemplate-depth- 1162C++ ObjC++ Joined RejectNegative Undocumented Alias(ftemplate-depth=) 1163 1164ftemplate-depth= 1165C++ ObjC++ Joined RejectNegative UInteger 1166-ftemplate-depth=<number> Specify maximum template instantiation depth 1167 1168fthis-is-variable 1169C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1170 1171fthreadsafe-statics 1172C++ ObjC++ Optimization Var(flag_threadsafe_statics) Init(1) 1173-fno-threadsafe-statics Do not generate thread-safe code for initializing local statics 1174 1175funsigned-bitfields 1176C ObjC C++ ObjC++ Var(flag_signed_bitfields, 0) 1177When \"signed\" or \"unsigned\" is not given make the bitfield unsigned 1178 1179funsigned-char 1180C ObjC C++ ObjC++ LTO Var(flag_signed_char, 0) 1181Make \"char\" unsigned by default 1182 1183fuse-cxa-atexit 1184C++ ObjC++ Var(flag_use_cxa_atexit) Init(DEFAULT_USE_CXA_ATEXIT) 1185Use __cxa_atexit to register destructors 1186 1187fuse-cxa-get-exception-ptr 1188C++ ObjC++ Var(flag_use_cxa_get_exception_ptr) Init(2) 1189Use __cxa_get_exception_ptr in exception handling 1190 1191fvisibility-inlines-hidden 1192C++ ObjC++ 1193Marks all inlined functions and methods as having hidden visibility 1194 1195fvisibility-ms-compat 1196C++ ObjC++ Var(flag_visibility_ms_compat) 1197Changes visibility to match Microsoft Visual Studio by default 1198 1199fvtable-gc 1200C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1201No longer supported 1202 1203fvtable-thunks 1204C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1205No longer supported 1206 1207fweak 1208C++ ObjC++ Var(flag_weak) Init(1) 1209Emit common-like symbols as weak symbols 1210 1211fwide-exec-charset= 1212C ObjC C++ ObjC++ Joined RejectNegative 1213-fwide-exec-charset=<cset> Convert all wide strings and character constants to character set <cset> 1214 1215fworking-directory 1216C ObjC C++ ObjC++ Var(flag_working_directory) Init(-1) 1217Generate a #line directive pointing at the current working directory 1218 1219fxref 1220C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1221No longer supported 1222 1223fzero-link 1224ObjC ObjC++ Var(flag_zero_link) 1225Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode 1226 1227gen-decls 1228ObjC ObjC++ Var(flag_gen_declaration) 1229Dump declarations to a .decl file 1230 1231femit-struct-debug-baseonly 1232C ObjC C++ ObjC++ 1233-femit-struct-debug-baseonly Aggressive reduced debug info for structs 1234 1235femit-struct-debug-reduced 1236C ObjC C++ ObjC++ 1237-femit-struct-debug-reduced Conservative reduced debug info for structs 1238 1239femit-struct-debug-detailed= 1240C ObjC C++ ObjC++ Joined 1241-femit-struct-debug-detailed=<spec-list> Detailed reduced debug info for structs 1242 1243fext-numeric-literals 1244C++ ObjC++ 1245Interpret imaginary, fixed-point, or other gnu number suffix as the corresponding 1246number literal rather than a user-defined number literal. 1247 1248idirafter 1249C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs) 1250-idirafter <dir> Add <dir> to the end of the system include path 1251 1252imacros 1253C ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs) 1254-imacros <file> Accept definition of macros in <file> 1255 1256imultilib 1257C ObjC C++ ObjC++ Joined Separate 1258-imultilib <dir> Set <dir> to be the multilib include subdirectory 1259 1260include 1261C ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs) 1262-include <file> Include the contents of <file> before other files 1263 1264iprefix 1265C ObjC C++ ObjC++ Joined Separate 1266-iprefix <path> Specify <path> as a prefix for next two options 1267 1268isysroot 1269C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs) 1270-isysroot <dir> Set <dir> to be the system root directory 1271 1272isystem 1273C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs) 1274-isystem <dir> Add <dir> to the start of the system include path 1275 1276iquote 1277C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs) 1278-iquote <dir> Add <dir> to the end of the quote include path 1279 1280iwithprefix 1281C ObjC C++ ObjC++ Joined Separate 1282-iwithprefix <dir> Add <dir> to the end of the system include path 1283 1284iwithprefixbefore 1285C ObjC C++ ObjC++ Joined Separate 1286-iwithprefixbefore <dir> Add <dir> to the end of the main include path 1287 1288lang-asm 1289C Undocumented RejectDriver 1290 1291no-integrated-cpp 1292Driver 1293 1294nostdinc 1295C ObjC C++ ObjC++ 1296Do not search standard system include directories (those specified with -isystem will still be used) 1297 1298nostdinc++ 1299C++ ObjC++ 1300Do not search standard system include directories for C++ 1301 1302o 1303C ObjC C++ ObjC++ Joined Separate 1304; Documented in common.opt 1305 1306pedantic 1307C ObjC C++ ObjC++ Alias(Wpedantic) 1308; Documented in common.opt 1309 1310print-objc-runtime-info 1311ObjC ObjC++ 1312Generate C header of platform-specific features 1313 1314remap 1315C ObjC C++ ObjC++ 1316Remap file names when including files 1317 1318std=c++98 1319C++ ObjC++ 1320Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum 1321 1322std=c++03 1323C++ ObjC++ Alias(std=c++98) 1324Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum 1325 1326std=c++11 1327C++ ObjC++ 1328Conform to the ISO 2011 C++ standard (experimental and incomplete support) 1329 1330std=c++0x 1331C++ ObjC++ Alias(std=c++11) 1332Deprecated in favor of -std=c++11 1333 1334std=c++1y 1335C++ ObjC++ 1336Conform to the ISO 201y(7?) C++ draft standard (experimental and incomplete support) 1337 1338std=c11 1339C ObjC 1340Conform to the ISO 2011 C standard (experimental and incomplete support) 1341 1342std=c1x 1343C ObjC Alias(std=c11) 1344Deprecated in favor of -std=c11 1345 1346std=c89 1347C ObjC Alias(std=c90) 1348Conform to the ISO 1990 C standard 1349 1350std=c90 1351C ObjC 1352Conform to the ISO 1990 C standard 1353 1354std=c99 1355C ObjC 1356Conform to the ISO 1999 C standard 1357 1358std=c9x 1359C ObjC Alias(std=c99) 1360Deprecated in favor of -std=c99 1361 1362std=gnu++98 1363C++ ObjC++ 1364Conform to the ISO 1998 C++ standard revised by the 2003 technical 1365corrigendum with GNU extensions 1366 1367std=gnu++03 1368C++ ObjC++ Alias(std=gnu++98) 1369Conform to the ISO 1998 C++ standard revised by the 2003 technical 1370corrigendum with GNU extensions 1371 1372std=gnu++11 1373C++ ObjC++ 1374Conform to the ISO 2011 C++ standard with GNU extensions (experimental and incomplete support) 1375 1376std=gnu++0x 1377C++ ObjC++ Alias(std=gnu++11) 1378Deprecated in favor of -std=gnu++11 1379 1380std=gnu++1y 1381C++ ObjC++ 1382Conform to the ISO 201y(7?) C++ draft standard with GNU extensions (experimental and incomplete support) 1383 1384std=gnu11 1385C ObjC 1386Conform to the ISO 2011 C standard with GNU extensions (experimental and incomplete support) 1387 1388std=gnu1x 1389C ObjC Alias(std=gnu11) 1390Deprecated in favor of -std=gnu11 1391 1392std=gnu89 1393C ObjC Alias(std=gnu90) 1394Conform to the ISO 1990 C standard with GNU extensions 1395 1396std=gnu90 1397C ObjC 1398Conform to the ISO 1990 C standard with GNU extensions 1399 1400std=gnu99 1401C ObjC 1402Conform to the ISO 1999 C standard with GNU extensions 1403 1404std=gnu9x 1405C ObjC Alias(std=gnu99) 1406Deprecated in favor of -std=gnu99 1407 1408std=iso9899:1990 1409C ObjC Alias(std=c90) 1410Conform to the ISO 1990 C standard 1411 1412std=iso9899:199409 1413C ObjC 1414Conform to the ISO 1990 C standard as amended in 1994 1415 1416std=iso9899:1999 1417C ObjC Alias(std=c99) 1418Conform to the ISO 1999 C standard 1419 1420std=iso9899:199x 1421C ObjC Alias(std=c99) 1422Deprecated in favor of -std=iso9899:1999 1423 1424std=iso9899:2011 1425C ObjC Alias(std=c11) 1426Conform to the ISO 2011 C standard (experimental and incomplete support) 1427 1428traditional 1429Driver 1430 1431traditional-cpp 1432C ObjC C++ ObjC++ 1433Enable traditional preprocessing 1434 1435trigraphs 1436C ObjC C++ ObjC++ 1437-trigraphs Support ISO C trigraphs 1438 1439undef 1440C ObjC C++ ObjC++ Var(flag_undef) 1441Do not predefine system-specific and GCC-specific macros 1442 1443v 1444C ObjC C++ ObjC++ 1445; Documented in common.opt 1446 1447w 1448C ObjC C++ ObjC++ 1449; Documented in common.opt 1450 1451; This comment is to ensure we retain the blank line above. 1452