c.opt revision 1.4
1; Options for the C, ObjC, C++ and ObjC++ front ends. 2; Copyright (C) 2003-2016 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= 260C ObjC C++ ObjC++ LTO Joined RejectNegative UInteger Warning 261Warn about things that change between the current -fabi-version and the specified version. 262 263Wabi-tag 264C++ ObjC++ Var(warn_abi_tag) Warning 265Warn if a subobject has an abi_tag attribute that the complete object type does not have. 266 267Wpsabi 268C ObjC C++ ObjC++ LTO Var(warn_psabi) Init(1) Warning Undocumented LangEnabledBy(C ObjC C++ ObjC++,Wabi) 269 270Waddress 271C ObjC C++ ObjC++ Var(warn_address) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 272Warn about suspicious uses of memory addresses. 273 274Wall 275C ObjC C++ ObjC++ Warning 276Enable most warning messages. 277 278Warray-bounds 279LangEnabledBy(C ObjC C++ ObjC++,Wall) 280; in common.opt 281 282Warray-bounds= 283LangEnabledBy(C ObjC C++ ObjC++,Wall,1,0) 284; in common.opt 285 286Wassign-intercept 287ObjC ObjC++ Var(warn_assign_intercept) Warning 288Warn whenever an Objective-C assignment is being intercepted by the garbage collector. 289 290Wbad-function-cast 291C ObjC Var(warn_bad_function_cast) Warning 292Warn about casting functions to incompatible types. 293 294Wbool-compare 295C ObjC C++ ObjC++ Var(warn_bool_compare) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 296Warn about boolean expression compared with an integer value different from true/false. 297 298Wframe-address 299C ObjC C++ ObjC++ Var(warn_frame_address) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 300Warn when __builtin_frame_address or __builtin_return_address is used unsafely. 301 302Wbuiltin-macro-redefined 303C ObjC C++ ObjC++ CPP(warn_builtin_macro_redefined) CppReason(CPP_W_BUILTIN_MACRO_REDEFINED) Var(cpp_warn_builtin_macro_redefined) Init(1) Warning 304Warn when a built-in preprocessor macro is undefined or redefined. 305 306Wc90-c99-compat 307C ObjC CPP(cpp_warn_c90_c99_compat) CppReason(CPP_W_C90_C99_COMPAT) Var(warn_c90_c99_compat) Init(-1) Warning 308Warn about features not present in ISO C90, but present in ISO C99. 309 310Wc99-c11-compat 311C ObjC Var(warn_c99_c11_compat) Init(-1) Warning 312Warn about features not present in ISO C99, but present in ISO C11. 313 314Wc++-compat 315C ObjC Var(warn_cxx_compat) CPP(warn_cxx_operator_names) CppReason(CPP_W_CXX_OPERATOR_NAMES) Init(0) Warning 316Warn about C constructs that are not in the common subset of C and C++. 317 318Wc++0x-compat 319C++ ObjC++ Warning Alias(Wc++11-compat) Undocumented 320 321Wc++11-compat 322C++ ObjC++ Var(warn_cxx11_compat) Warning LangEnabledBy(C++ ObjC++,Wall) Init(0) CPP(cpp_warn_cxx11_compat) CppReason(CPP_W_CXX11_COMPAT) 323Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 2011. 324 325Wc++14-compat 326C++ ObjC++ Var(warn_cxx14_compat) Warning LangEnabledBy(C++ ObjC++,Wall) 327Warn about C++ constructs whose meaning differs between ISO C++ 2011 and ISO C++ 2014. 328 329Wcast-qual 330C ObjC C++ ObjC++ Var(warn_cast_qual) Warning 331Warn about casts which discard qualifiers. 332 333Wchar-subscripts 334C ObjC C++ ObjC++ Var(warn_char_subscripts) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 335Warn about subscripts whose type is \"char\". 336 337Wchkp 338C ObjC C++ ObjC++ Var(warn_chkp) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 339Warn about memory access errors found by Pointer Bounds Checker. 340 341Wclobbered 342C ObjC C++ ObjC++ Var(warn_clobbered) Warning EnabledBy(Wextra) 343Warn about variables that might be changed by \"longjmp\" or \"vfork\". 344 345Wcomment 346C ObjC C++ ObjC++ CPP(warn_comments) CppReason(CPP_W_COMMENTS) Var(cpp_warn_comment) Init(0) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 347Warn about possibly nested block comments, and C++ comments spanning more than one physical line. 348 349Wcomments 350C ObjC C++ ObjC++ Warning Alias(Wcomment) 351Synonym for -Wcomment. 352 353Wconditionally-supported 354C++ ObjC++ Var(warn_conditionally_supported) Warning 355Warn for conditionally-supported constructs. 356 357Wconversion 358C ObjC C++ ObjC++ Var(warn_conversion) Warning 359Warn for implicit type conversions that may change a value. 360 361Wconversion-null 362C++ ObjC++ Var(warn_conversion_null) Init(1) Warning 363Warn for converting NULL from/to a non-pointer type. 364 365Wcpp 366C ObjC C++ ObjC++ CppReason(CPP_W_WARNING_DIRECTIVE) 367; Documented in common.opt 368 369Wctor-dtor-privacy 370C++ ObjC++ Var(warn_ctor_dtor_privacy) Warning 371Warn when all constructors and destructors are private. 372 373Wdate-time 374C ObjC C++ ObjC++ CPP(warn_date_time) CppReason(CPP_W_DATE_TIME) Var(cpp_warn_date_time) Init(0) Warning 375Warn about __TIME__, __DATE__ and __TIMESTAMP__ usage. 376 377Wdeclaration-after-statement 378C ObjC Var(warn_declaration_after_statement) Init(-1) Warning 379Warn when a declaration is found after a statement. 380 381Wdelete-incomplete 382C++ ObjC++ Var(warn_delete_incomplete) Init(1) Warning 383Warn when deleting a pointer to incomplete type. 384 385Wdelete-non-virtual-dtor 386C++ ObjC++ Var(warn_delnonvdtor) Warning LangEnabledBy(C++ ObjC++,Wall || Weffc++) 387Warn about deleting polymorphic objects with non-virtual destructors. 388 389Wdeprecated 390C C++ ObjC ObjC++ CPP(cpp_warn_deprecated) CppReason(CPP_W_DEPRECATED) Var(warn_deprecated) Init(1) Warning 391Warn if a deprecated compiler feature, class, method, or field is used. 392 393Wdesignated-init 394C ObjC Var(warn_designated_init) Init(1) Warning 395Warn about positional initialization of structs requiring designated initializers. 396 397Wdiscarded-array-qualifiers 398C ObjC Var(warn_discarded_array_qualifiers) Init(1) Warning 399Warn if qualifiers on arrays which are pointer targets are discarded. 400 401Wdiscarded-qualifiers 402C ObjC Var(warn_discarded_qualifiers) Init(1) Warning 403Warn if type qualifiers on pointers are discarded. 404 405Wdiv-by-zero 406C ObjC C++ ObjC++ Var(warn_div_by_zero) Init(1) Warning 407Warn about compile-time integer division by zero. 408 409Wduplicated-cond 410C ObjC C++ ObjC++ Var(warn_duplicated_cond) Init(0) Warning 411Warn about duplicated conditions in an if-else-if chain. 412 413Weffc++ 414C++ ObjC++ Var(warn_ecpp) Warning 415Warn about violations of Effective C++ style rules. 416 417Wempty-body 418C ObjC C++ ObjC++ Var(warn_empty_body) Warning EnabledBy(Wextra) 419Warn about an empty body in an if or else statement. 420 421Wendif-labels 422C ObjC C++ ObjC++ CPP(warn_endif_labels) CppReason(CPP_W_ENDIF_LABELS) Var(cpp_warn_endif_labels) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wpedantic) 423Warn about stray tokens after #elif and #endif. 424 425Wenum-compare 426C ObjC C++ ObjC++ Var(warn_enum_compare) Init(-1) Warning LangEnabledBy(C ObjC,Wall || Wc++-compat) 427Warn about comparison of different enum types. 428 429Werror 430C ObjC C++ ObjC++ 431; Documented in common.opt 432 433Werror-implicit-function-declaration 434C ObjC RejectNegative Warning Alias(Werror=, implicit-function-declaration) 435This switch is deprecated; use -Werror=implicit-function-declaration instead. 436 437Wfloat-conversion 438C ObjC C++ ObjC++ Var(warn_float_conversion) Warning LangEnabledBy(C ObjC C++ ObjC++,Wconversion) 439Warn for implicit type conversions that cause loss of floating point precision. 440 441Wfloat-equal 442C ObjC C++ ObjC++ Var(warn_float_equal) Warning 443Warn if testing floating point numbers for equality. 444 445Wformat 446C ObjC C++ ObjC++ Warning Alias(Wformat=, 1, 0) 447Warn about printf/scanf/strftime/strfmon format string anomalies. 448 449Wformat-contains-nul 450C ObjC C++ ObjC++ Var(warn_format_contains_nul) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 1, 0) 451Warn about format strings that contain NUL bytes. 452 453Wformat-extra-args 454C ObjC C++ ObjC++ Var(warn_format_extra_args) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 1, 0) 455Warn if passing too many arguments to a function for its format string. 456 457Wformat-nonliteral 458C ObjC C++ ObjC++ Var(warn_format_nonliteral) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0) 459Warn about format strings that are not literals. 460 461Wformat-security 462C ObjC C++ ObjC++ Var(warn_format_security) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0) 463Warn about possible security problems with format functions. 464 465Wformat-signedness 466C ObjC C++ ObjC++ Var(warn_format_signedness) Warning 467Warn about sign differences with format functions. 468 469Wformat-y2k 470C ObjC C++ ObjC++ Var(warn_format_y2k) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=,warn_format >= 2, 0) 471Warn about strftime formats yielding 2-digit years. 472 473Wformat-zero-length 474C ObjC C++ ObjC++ Var(warn_format_zero_length) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=,warn_format >= 1, 0) 475Warn about zero-length formats. 476 477Wformat= 478C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) 479Warn about printf/scanf/strftime/strfmon format string anomalies. 480 481Wignored-qualifiers 482C C++ Var(warn_ignored_qualifiers) Warning EnabledBy(Wextra) 483Warn whenever type qualifiers are ignored. 484 485Wignored-attributes 486C C++ Var(warn_ignored_attributes) Init(1) Warning 487Warn whenever attributes are ignored. 488 489Wincompatible-pointer-types 490C ObjC Var(warn_incompatible_pointer_types) Init(1) Warning 491Warn when there is a conversion between pointers that have incompatible types. 492 493Winit-self 494C ObjC C++ ObjC++ Var(warn_init_self) Warning LangEnabledBy(C++ ObjC++,Wall) 495Warn about variables which are initialized to themselves. 496 497Wimplicit 498C ObjC Var(warn_implicit) Warning LangEnabledBy(C ObjC,Wall) 499Warn about implicit declarations. 500 501Wdouble-promotion 502C ObjC C++ ObjC++ Var(warn_double_promotion) Warning 503Warn about implicit conversions from \"float\" to \"double\". 504 505Wimplicit-function-declaration 506C ObjC Var(warn_implicit_function_declaration) Init(-1) Warning LangEnabledBy(C ObjC,Wimplicit) 507Warn about implicit function declarations. 508 509Wimplicit-int 510C ObjC Var(warn_implicit_int) Init(-1) Warning LangEnabledBy(C ObjC,Wimplicit) 511Warn when a declaration does not specify a type. 512 513Wimport 514C ObjC C++ ObjC++ Undocumented Ignore 515 516Winherited-variadic-ctor 517C++ ObjC++ Var(warn_inh_var_ctor) Init(1) Warning 518Warn about C++11 inheriting constructors when the base has a variadic constructor. 519 520Wint-conversion 521C ObjC Var(warn_int_conversion) Init(1) Warning 522Warn about incompatible integer to pointer and pointer to integer conversions. 523 524Wint-to-pointer-cast 525C ObjC C++ ObjC++ Var(warn_int_to_pointer_cast) Init(1) Warning 526Warn when there is a cast to a pointer from an integer of a different size. 527 528Winvalid-offsetof 529C++ ObjC++ Var(warn_invalid_offsetof) Init(1) Warning 530Warn about invalid uses of the \"offsetof\" macro. 531 532Winvalid-pch 533C ObjC C++ ObjC++ CPP(warn_invalid_pch) CppReason(CPP_W_INVALID_PCH) Var(cpp_warn_invalid_pch) Init(0) Warning 534Warn about PCH files that are found but not used. 535 536Wjump-misses-init 537C ObjC Var(warn_jump_misses_init) Warning LangEnabledby(C ObjC,Wc++-compat) 538Warn when a jump misses a variable initialization. 539 540Wliteral-suffix 541C++ ObjC++ CPP(warn_literal_suffix) CppReason(CPP_W_LITERAL_SUFFIX) Var(cpp_warn_literal_suffix) Init(1) Warning 542Warn when a string or character literal is followed by a ud-suffix which does not begin with an underscore. 543 544Wlogical-op 545C ObjC C++ ObjC++ Var(warn_logical_op) Init(0) Warning 546Warn when a logical operator is suspiciously always evaluating to true or false. 547 548Wlogical-not-parentheses 549C ObjC C++ ObjC++ Var(warn_logical_not_paren) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 550Warn when logical not is used on the left hand side operand of a comparison. 551 552Wlong-long 553C ObjC C++ ObjC++ CPP(cpp_warn_long_long) CppReason(CPP_W_LONG_LONG) Var(warn_long_long) Init(-1) Warning LangEnabledBy(C ObjC,Wc90-c99-compat) 554Do not warn about using \"long long\" when -pedantic. 555 556Wmain 557C ObjC C++ ObjC++ Var(warn_main) Init(-1) Warning LangEnabledBy(C ObjC,Wall, 2, 0) 558Warn about suspicious declarations of \"main\". 559 560Wmain 561LangEnabledBy(C ObjC C++ ObjC++,Wpedantic, 2, 0) 562; 563 564Wmemset-transposed-args 565C ObjC C++ ObjC++ Var(warn_memset_transposed_args) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 566Warn about suspicious calls to memset where the third argument is constant literal zero and the second is not. 567 568Wmisleading-indentation 569C C++ Common Var(warn_misleading_indentation) Warning LangEnabledBy(C C++,Wall) 570Warn when the indentation of the code does not reflect the block structure. 571 572Wmissing-braces 573C ObjC C++ ObjC++ Var(warn_missing_braces) Warning LangEnabledBy(C ObjC,Wall) 574Warn about possibly missing braces around initializers. 575 576Wmissing-declarations 577C ObjC C++ ObjC++ Var(warn_missing_declarations) Warning 578Warn about global functions without previous declarations. 579 580Wmissing-field-initializers 581C ObjC C++ ObjC++ Var(warn_missing_field_initializers) Warning EnabledBy(Wextra) 582Warn about missing fields in struct initializers. 583 584Wmultiple-inheritance 585C++ ObjC++ Var(warn_multiple_inheritance) Warning 586Warn on direct multiple inheritance. 587 588Wnamespaces 589C++ ObjC++ Var(warn_namespaces) Warning 590Warn on namespace definition. 591 592Wsized-deallocation 593C++ ObjC++ Var(warn_sized_deallocation) Warning EnabledBy(Wextra) 594Warn about missing sized deallocation functions. 595 596Wsizeof-pointer-memaccess 597C ObjC C++ ObjC++ Var(warn_sizeof_pointer_memaccess) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 598Warn about suspicious length parameters to certain string functions if the argument uses sizeof. 599 600Wsizeof-array-argument 601C ObjC C++ ObjC++ Var(warn_sizeof_array_argument) Warning Init(1) 602Warn when sizeof is applied on a parameter declared as an array. 603 604Wsuggest-attribute=format 605C ObjC C++ ObjC++ Var(warn_suggest_attribute_format) Warning 606Warn about functions which might be candidates for format attributes. 607 608Wsuggest-override 609C++ ObjC++ Var(warn_override) Warning 610Suggest that the override keyword be used when the declaration of a virtual 611function overrides another. 612 613Wswitch 614C ObjC C++ ObjC++ Var(warn_switch) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 615Warn about enumerated switches, with no default, missing a case. 616 617Wswitch-default 618C ObjC C++ ObjC++ Var(warn_switch_default) Warning 619Warn about enumerated switches missing a \"default:\" statement. 620 621Wswitch-enum 622C ObjC C++ ObjC++ Var(warn_switch_enum) Warning 623Warn about all enumerated switches missing a specific case. 624 625Wswitch-bool 626C ObjC C++ ObjC++ Var(warn_switch_bool) Warning Init(1) 627Warn about switches with boolean controlling expression. 628 629Wtemplates 630C++ ObjC++ Var(warn_templates) Warning 631Warn on primary template declaration. 632 633Wmissing-format-attribute 634C ObjC C++ ObjC++ Warning Alias(Wsuggest-attribute=format) 635; 636 637Wmissing-include-dirs 638C ObjC C++ ObjC++ CPP(warn_missing_include_dirs) CppReason(CPP_W_MISSING_INCLUDE_DIRS) Var(cpp_warn_missing_include_dirs) Init(0) Warning 639Warn about user-specified include directories that do not exist. 640 641Wmissing-parameter-type 642C ObjC Var(warn_missing_parameter_type) Warning EnabledBy(Wextra) 643Warn about function parameters declared without a type specifier in K&R-style functions. 644 645Wmissing-prototypes 646C ObjC Var(warn_missing_prototypes) Warning 647Warn about global functions without prototypes. 648 649Wmudflap 650C ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 651 652Wmultichar 653C ObjC C++ ObjC++ CPP(warn_multichar) CppReason(CPP_W_MULTICHAR) Var(cpp_warn_multichar) Init(0) Warning 654Warn about use of multi-character character constants. 655 656Wnarrowing 657C ObjC C++ ObjC++ Warning Var(warn_narrowing) Init(-1) LangEnabledBy(C++ ObjC++,Wall || Wc++11-compat) 658Warn about narrowing conversions within { } that are ill-formed in C++11. 659 660Wnested-externs 661C ObjC Var(warn_nested_externs) Warning 662Warn about \"extern\" declarations not at file scope. 663 664Wnoexcept 665C++ ObjC++ Var(warn_noexcept) Warning 666Warn when a noexcept expression evaluates to false even though the expression can't actually throw. 667 668Wnon-template-friend 669C++ ObjC++ Var(warn_nontemplate_friend) Init(1) Warning 670Warn when non-templatized friend functions are declared within a template. 671 672Wnon-virtual-dtor 673C++ ObjC++ Var(warn_nonvdtor) Warning LangEnabledBy(C++ ObjC++,Weffc++) 674Warn about non-virtual destructors. 675 676Wnonnull 677C ObjC C++ ObjC++ Var(warn_nonnull) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=,warn_format >= 1,0) 678Warn about NULL being passed to argument slots marked as requiring non-NULL. 679 680Wnonnull 681C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall) 682; 683 684Wnonnull-compare 685C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall) 686; 687 688Wnormalized 689C ObjC C++ ObjC++ Warning Alias(Wnormalized=,nfc,none) 690; 691 692Wnormalized= 693C ObjC C++ ObjC++ RejectNegative Joined Warning CPP(warn_normalize) CppReason(CPP_W_NORMALIZE) Init(normalized_C) Var(cpp_warn_normalize) Enum(cpp_normalize_level) 694-Wnormalized=<none|id|nfc|nfkc> Warn about non-normalised Unicode strings. 695 696; Required for these enum values. 697SourceInclude 698cpplib.h 699 700Enum 701Name(cpp_normalize_level) Type(int) UnknownError(argument %qs to %<-Wnormalized%> not recognized) 702 703EnumValue 704Enum(cpp_normalize_level) String(none) Value(normalized_none) 705 706EnumValue 707Enum(cpp_normalize_level) String(nfkc) Value(normalized_KC) 708 709EnumValue 710Enum(cpp_normalize_level) String(id) Value(normalized_identifier_C) 711 712EnumValue 713Enum(cpp_normalize_level) String(nfc) Value(normalized_C) 714 715Wold-style-cast 716C++ ObjC++ Var(warn_old_style_cast) Warning 717Warn if a C-style cast is used in a program. 718 719Wold-style-declaration 720C ObjC Var(warn_old_style_declaration) Warning EnabledBy(Wextra) 721Warn for obsolescent usage in a declaration. 722 723Wold-style-definition 724C ObjC Var(warn_old_style_definition) Warning 725Warn if an old-style parameter definition is used. 726 727Wopenmp-simd 728C C++ Var(warn_openmp_simd) Warning LangEnabledBy(C C++,Wall) 729Warn if a simd directive is overridden by the vectorizer cost model. 730 731Woverlength-strings 732C ObjC C++ ObjC++ Var(warn_overlength_strings) Warning LangEnabledBy(C ObjC C++ ObjC++,Wpedantic) 733Warn if a string is longer than the maximum portable length specified by the standard. 734 735Woverloaded-virtual 736C++ ObjC++ Var(warn_overloaded_virtual) Warning 737Warn about overloaded virtual function names. 738 739Woverride-init 740C ObjC Var(warn_override_init) Warning EnabledBy(Wextra) 741Warn about overriding initializers without side effects. 742 743Woverride-init-side-effects 744C ObjC Var(warn_override_init_side_effects) Init(1) Warning 745Warn about overriding initializers with side effects. 746 747Wpacked-bitfield-compat 748C ObjC C++ ObjC++ Var(warn_packed_bitfield_compat) Init(-1) Warning 749Warn about packed bit-fields whose offset changed in GCC 4.4. 750 751Wparentheses 752C ObjC C++ ObjC++ Var(warn_parentheses) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 753Warn about possibly missing parentheses. 754 755Wpedantic 756C ObjC C++ ObjC++ CPP(cpp_pedantic) CppReason(CPP_W_PEDANTIC) Warning 757; Documented in common.opt 758 759Wpmf-conversions 760C++ ObjC++ Var(warn_pmf2ptr) Init(1) Warning 761Warn when converting the type of pointers to member functions. 762 763Wpointer-arith 764C ObjC C++ ObjC++ Var(warn_pointer_arith) Warning LangEnabledBy(C ObjC C++ ObjC++,Wpedantic) 765Warn about function pointer arithmetic. 766 767Wpointer-sign 768C ObjC Var(warn_pointer_sign) Warning LangEnabledBy(C ObjC,Wall || Wpedantic) 769Warn when a pointer differs in signedness in an assignment. 770 771Wpointer-to-int-cast 772C ObjC Var(warn_pointer_to_int_cast) Init(1) Warning 773Warn when a pointer is cast to an integer of a different size. 774 775Wpragmas 776C ObjC C++ ObjC++ Var(warn_pragmas) Init(1) Warning 777Warn about misuses of pragmas. 778 779Wproperty-assign-default 780ObjC ObjC++ Var(warn_property_assign_default) Init(1) Warning 781Warn if a property for an Objective-C object has no assign semantics specified. 782 783Wprotocol 784ObjC ObjC++ Var(warn_protocol) Init(1) Warning 785Warn if inherited methods are unimplemented. 786 787Wplacement-new 788C++ Warning Alias(Wplacement-new=, 1, 0) 789Warn for placement new expressions with undefined behavior. 790 791Wplacement-new= 792C++ Joined RejectNegative UInteger Var(warn_placement_new) Init(-1) Warning 793Warn for placement new expressions with undefined behavior. 794 795Wredundant-decls 796C ObjC C++ ObjC++ Var(warn_redundant_decls) Warning 797Warn about multiple declarations of the same object. 798 799Wreorder 800C++ ObjC++ Var(warn_reorder) Warning LangEnabledBy(C++ ObjC++,Wall) 801Warn when the compiler reorders code. 802 803Wreturn-type 804C ObjC C++ ObjC++ Var(warn_return_type) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 805Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++). 806 807Wscalar-storage-order 808C ObjC C++ ObjC++ Init(1) Warning 809Warn on suspicious constructs involving reverse scalar storage order. 810 811Wselector 812ObjC ObjC++ Var(warn_selector) Warning 813Warn if a selector has multiple methods. 814 815Wsequence-point 816C ObjC C++ ObjC++ Var(warn_sequence_point) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 817Warn about possible violations of sequence point rules. 818 819Wshadow-ivar 820ObjC ObjC++ Var(warn_shadow_ivar) EnabledBy(Wshadow) Init(1) Warning 821Warn if a local declaration hides an instance variable. 822 823Wshift-overflow 824C ObjC C++ ObjC++ Warning Alias(Wshift-overflow=, 1, 0) 825Warn if left shift of a signed value overflows. 826 827Wshift-overflow= 828C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_shift_overflow) Init(-1) Warning 829Warn if left shift of a signed value overflows. 830 831Wshift-count-negative 832C ObjC C++ ObjC++ Var(warn_shift_count_negative) Init(1) Warning 833Warn if shift count is negative. 834 835Wshift-count-overflow 836C ObjC C++ ObjC++ Var(warn_shift_count_overflow) Init(1) Warning 837Warn if shift count >= width of type. 838 839Wshift-negative-value 840C ObjC C++ ObjC++ Var(warn_shift_negative_value) Init(-1) Warning 841Warn if left shifting a negative value. 842 843Wsign-compare 844C ObjC C++ ObjC++ Var(warn_sign_compare) Warning LangEnabledBy(C++ ObjC++,Wall) 845Warn about signed-unsigned comparisons. 846 847Wsign-compare 848C ObjC C++ ObjC++ EnabledBy(Wextra) 849; 850 851Wsign-conversion 852C ObjC C++ ObjC++ Var(warn_sign_conversion) Warning LangEnabledBy(C ObjC,Wconversion) 853Warn for implicit type conversions between signed and unsigned integers. 854 855Wsign-promo 856C++ ObjC++ Var(warn_sign_promo) Warning 857Warn when overload promotes from unsigned to signed. 858 859Wstrict-null-sentinel 860C++ ObjC++ Warning Var(warn_strict_null_sentinel) 861Warn about uncasted NULL used as sentinel. 862 863Wstrict-prototypes 864C ObjC Var(warn_strict_prototypes) Warning 865Warn about unprototyped function declarations. 866 867Wstrict-aliasing= 868C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall, 3, 0) 869; 870 871Wstrict-overflow= 872C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) 873; 874 875Wstrict-selector-match 876ObjC ObjC++ Var(warn_strict_selector_match) Warning 877Warn if type signatures of candidate methods do not match exactly. 878 879Wsync-nand 880C C++ Var(warn_sync_nand) Init(1) Warning 881Warn when __sync_fetch_and_nand and __sync_nand_and_fetch built-in functions are used. 882 883Wsynth 884C++ ObjC++ Var(warn_synth) Warning 885Deprecated. This switch has no effect. 886 887Wsystem-headers 888C ObjC C++ ObjC++ Warning 889; Documented in common.opt 890 891Wtautological-compare 892C ObjC C++ ObjC++ Var(warn_tautological_compare) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 893Warn if a comparison always evaluates to true or false. 894 895Wterminate 896C++ ObjC++ Warning Var(warn_terminate) Init(1) 897Warn if a throw expression will always result in a call to terminate(). 898 899Wtraditional 900C ObjC CPP(cpp_warn_traditional) CppReason(CPP_W_TRADITIONAL) Var(warn_traditional) Init(0) Warning 901Warn about features not present in traditional C. 902 903Wtraditional-conversion 904C ObjC Var(warn_traditional_conversion) Warning 905Warn of prototypes causing type conversions different from what would happen in the absence of prototype. 906 907Wtrigraphs 908C ObjC C++ ObjC++ CPP(warn_trigraphs) CppReason(CPP_W_TRIGRAPHS) Var(cpp_warn_trigraphs) Init(2) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 909Warn if trigraphs are encountered that might affect the meaning of the program. 910 911Wundeclared-selector 912ObjC ObjC++ Var(warn_undeclared_selector) Warning 913Warn about @selector()s without previously declared methods. 914 915Wundef 916C ObjC C++ ObjC++ CPP(warn_undef) CppReason(CPP_W_UNDEF) Var(cpp_warn_undef) Init(0) Warning 917Warn if an undefined macro is used in an #if directive. 918 919Wuninitialized 920C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall) 921; 922 923Wmaybe-uninitialized 924C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall) 925; 926 927Wunknown-pragmas 928C ObjC C++ ObjC++ Warning Var(warn_unknown_pragmas) LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0) 929Warn about unrecognized pragmas. 930 931Wunsuffixed-float-constants 932C ObjC Var(warn_unsuffixed_float_constants) Warning 933Warn about unsuffixed float constants. 934 935Wunused 936C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall) 937; documented in common.opt 938 939Wunused-local-typedefs 940C ObjC C++ ObjC++ Var(warn_unused_local_typedefs) Warning EnabledBy(Wunused) 941Warn when typedefs locally defined in a function are not used. 942 943Wunused-macros 944C ObjC C++ ObjC++ CppReason(CPP_W_UNUSED_MACROS) Var(cpp_warn_unused_macros) Warning 945Warn about macros defined in the main file that are not used. 946 947Wunused-result 948C ObjC C++ ObjC++ Var(warn_unused_result) Init(1) Warning 949Warn if a caller of a function, marked with attribute warn_unused_result, does not use its return value. 950 951Wunused-variable 952C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wunused) 953; documented in common.opt 954 955Wunused-const-variable 956C ObjC C++ ObjC++ Warning Alias(Wunused-const-variable=, 2, 0) 957Warn when a const variable is unused. 958 959Wunused-const-variable= 960C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_unused_const_variable) Warning LangEnabledBy(C ObjC,Wunused-variable, 1, 0) 961Warn when a const variable is unused. 962 963Wvariadic-macros 964C ObjC C++ ObjC++ CPP(warn_variadic_macros) CppReason(CPP_W_VARIADIC_MACROS) Var(cpp_warn_variadic_macros) Init(0) Warning LangEnabledBy(C ObjC C++ ObjC++,Wpedantic || Wtraditional) 965Warn about using variadic macros. 966 967Wvarargs 968C ObjC C++ ObjC++ Warning Var(warn_varargs) Init(1) 969Warn about questionable usage of the macros used to retrieve variable arguments. 970 971Wvla 972C ObjC C++ ObjC++ Var(warn_vla) Init(-1) Warning 973Warn if a variable length array is used. 974 975Wvolatile-register-var 976C ObjC C++ ObjC++ Var(warn_volatile_register_var) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall) 977Warn when a register variable is declared volatile. 978 979Wvirtual-inheritance 980C++ ObjC++ Var(warn_virtual_inheritance) Warning 981Warn on direct virtual inheritance. 982 983Wvirtual-move-assign 984C++ ObjC++ Var(warn_virtual_move_assign) Warning Init(1) 985Warn if a virtual base has a non-trivial move assignment operator. 986 987Wwrite-strings 988C ObjC C++ ObjC++ Var(warn_write_strings) Warning 989In 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. 990 991Wzero-as-null-pointer-constant 992C++ ObjC++ Var(warn_zero_as_null_pointer_constant) Warning 993Warn when a literal '0' is used as null pointer. 994 995Wuseless-cast 996C++ ObjC++ Var(warn_useless_cast) Warning 997Warn about useless casts. 998 999Wsubobject-linkage 1000C++ ObjC++ Var(warn_subobject_linkage) Warning Init(1) 1001Warn if a class type has a base or a field whose type uses the anonymous namespace or depends on a type with no linkage. 1002 1003ansi 1004C ObjC C++ ObjC++ 1005A synonym for -std=c89 (for C) or -std=c++98 (for C++). 1006 1007; This should really just be C++/ObjC++ but we (NetBSD) use it when 1008; calling C and ObjC compilers as well. 1009cxx-isystem 1010C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs) 1011-cxx-isystem <dir> Add <dir> to the start of the C++ system include path 1012 1013d 1014C ObjC C++ ObjC++ Joined 1015; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD? 1016 1017fabi-compat-version= 1018C++ ObjC++ Joined RejectNegative UInteger Var(flag_abi_compat_version) Init(-1) 1019The version of the C++ ABI used for -Wabi warnings and link compatibility aliases. 1020 1021faccess-control 1022C++ ObjC++ Var(flag_access_control) Init(1) 1023Enforce class member access control semantics. 1024 1025fada-spec-parent= 1026C ObjC C++ ObjC++ RejectNegative Joined Var(ada_specs_parent) 1027-fada-spec-parent=unit Dump Ada specs as child units of given parent. 1028 1029fall-virtual 1030C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1031 1032fallow-parameterless-variadic-functions 1033C ObjC Var(flag_allow_parameterless_variadic_functions) 1034Allow variadic functions without named parameter. 1035 1036falt-external-templates 1037C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1038No longer supported. 1039 1040fasm 1041C ObjC C++ ObjC++ Var(flag_no_asm, 0) 1042Recognize the \"asm\" keyword. 1043 1044; Define extra predefined macros for use in libgcc. 1045fbuilding-libgcc 1046C ObjC C++ ObjC++ Undocumented Var(flag_building_libgcc) 1047 1048fbuiltin 1049C ObjC C++ ObjC++ Var(flag_no_builtin, 0) 1050Recognize built-in functions. 1051 1052fbuiltin- 1053C ObjC C++ ObjC++ Joined 1054 1055fcanonical-system-headers 1056C ObjC C++ ObjC++ 1057Where shorter, use canonicalized paths to systems headers. 1058 1059fcheck-pointer-bounds 1060C ObjC C++ ObjC++ LTO Report Var(flag_check_pointer_bounds) 1061Add Pointer Bounds Checker instrumentation. fchkp-* flags are used to 1062control instrumentation. Currently available for C, C++ and ObjC. 1063 1064fchkp-check-incomplete-type 1065C ObjC C++ ObjC++ LTO Report Var(flag_chkp_incomplete_type) Init(1) 1066Generate pointer bounds checks for variables with incomplete type. 1067 1068fchkp-zero-input-bounds-for-main 1069C ObjC C++ ObjC++ LTO Report Var(flag_chkp_zero_input_bounds_for_main) Init(0) 1070Use zero bounds for all incoming arguments in 'main' function. It helps when 1071instrumented binaries are used with legacy libs. 1072 1073fchkp-first-field-has-own-bounds 1074C ObjC C++ ObjC++ LTO RejectNegative Report Var(flag_chkp_first_field_has_own_bounds) 1075Forces Pointer Bounds Checker to use narrowed bounds for address of the first 1076field in the structure. By default pointer to the first field has the same 1077bounds as pointer to the whole structure. 1078 1079fchkp-narrow-bounds 1080C ObjC C++ ObjC++ LTO Report Var(flag_chkp_narrow_bounds) Init(1) 1081Control how Pointer Bounds Checker handle pointers to object fields. When 1082narrowing is on, field bounds are used. Otherwise full object bounds are used. 1083 1084fchkp-narrow-to-innermost-array 1085C ObjC C++ ObjC++ LTO RejectNegative Report Var(flag_chkp_narrow_to_innermost_arrray) 1086Forces Pointer Bounds Checker to use bounds of the innermost arrays in case of 1087nested static arryas access. By default outermost array is used. 1088 1089fchkp-optimize 1090C ObjC C++ ObjC++ LTO Report Var(flag_chkp_optimize) Init(-1) 1091Allow Pointer Bounds Checker optimizations. By default allowed 1092on optimization levels >0. 1093 1094fchkp-use-fast-string-functions 1095C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_fast_string_functions) Init(0) 1096Allow to use *_nobnd versions of string functions by Pointer Bounds Checker. 1097 1098fchkp-use-nochk-string-functions 1099C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_nochk_string_functions) Init(0) 1100Allow to use *_nochk versions of string functions by Pointer Bounds Checker. 1101 1102fchkp-use-static-bounds 1103C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_static_bounds) Init(1) 1104Use statically initialized variable for vars bounds instead of 1105generating them each time it is required. 1106 1107fchkp-use-static-const-bounds 1108C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_static_const_bounds) Init(-1) 1109Use statically initialized variable for constant bounds instead of 1110generating them each time it is required. 1111 1112fchkp-treat-zero-dynamic-size-as-infinite 1113C ObjC C++ ObjC++ LTO Report Var(flag_chkp_zero_dynamic_size_as_infinite) Init(0) 1114With this option zero size obtained dynamically for objects with 1115incomplete type will be treated as infinite. 1116 1117fchkp-check-read 1118C ObjC C++ ObjC++ LTO Report Var(flag_chkp_check_read) Init(1) 1119Generate checks for all read accesses to memory. 1120 1121fchkp-check-write 1122C ObjC C++ ObjC++ LTO Report Var(flag_chkp_check_write) Init(1) 1123Generate checks for all write accesses to memory. 1124 1125fchkp-store-bounds 1126C ObjC C++ ObjC++ LTO Report Var(flag_chkp_store_bounds) Init(1) 1127Generate bounds stores for pointer writes. 1128 1129fchkp-instrument-calls 1130C ObjC C++ ObjC++ LTO Report Var(flag_chkp_instrument_calls) Init(1) 1131Generate bounds passing for calls. 1132 1133fchkp-instrument-marked-only 1134C ObjC C++ ObjC++ LTO Report Var(flag_chkp_instrument_marked_only) Init(0) 1135Instrument only functions marked with bnd_instrument attribute. 1136 1137fchkp-use-wrappers 1138C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_wrappers) Init(1) 1139Transform instrumented builtin calls into calls to wrappers. 1140 1141static-libmpx 1142Driver 1143 1144static-libmpxwrappers 1145Driver 1146 1147fcilkplus 1148C ObjC C++ ObjC++ LTO Report Var(flag_cilkplus) Init(0) 1149Enable Cilk Plus. 1150 1151fconcepts 1152C++ ObjC++ Var(flag_concepts) 1153Enable support for C++ concepts. 1154 1155fcond-mismatch 1156C ObjC C++ ObjC++ 1157Allow the arguments of the '?' operator to have different types. 1158 1159fconserve-space 1160C++ ObjC++ Var(flag_conserve_space) 1161Does nothing. Preserved for backward compatibility. 1162 1163fconstant-string-class= 1164ObjC ObjC++ Joined MissingArgError(no class name specified with %qs) 1165-fconst-string-class=<name> Use class <name> for constant strings. 1166 1167fconstexpr-depth= 1168C++ ObjC++ Joined RejectNegative UInteger Var(max_constexpr_depth) Init(512) 1169-fconstexpr-depth=<number> Specify maximum constexpr recursion depth. 1170 1171fdebug-cpp 1172C ObjC C++ ObjC++ 1173Emit debug annotations during preprocessing. 1174 1175fdeduce-init-list 1176C++ ObjC++ Var(flag_deduce_init_list) Init(0) 1177-fdeduce-init-list enable deduction of std::initializer_list for a template type parameter from a brace-enclosed initializer-list. 1178 1179fdeclone-ctor-dtor 1180C++ ObjC++ Var(flag_declone_ctor_dtor) Init(-1) 1181Factor complex constructors and destructors to favor space over speed. 1182 1183fdefault-inline 1184C++ ObjC++ Ignore 1185Does nothing. Preserved for backward compatibility. 1186 1187fdirectives-only 1188C ObjC C++ ObjC++ 1189Preprocess directives only. 1190 1191fdollars-in-identifiers 1192C ObjC C++ ObjC++ 1193Permit '$' as an identifier character. 1194 1195fdump-ada-spec 1196C ObjC C++ ObjC++ RejectNegative Var(flag_dump_ada_spec) 1197Write all declarations as Ada code transitively. 1198 1199fdump-ada-spec-slim 1200C ObjC C++ ObjC++ RejectNegative Var(flag_dump_ada_spec_slim) 1201Write all declarations as Ada code for the given file only. 1202 1203felide-constructors 1204C++ ObjC++ Var(flag_elide_constructors) Init(1) 1205 1206fenforce-eh-specs 1207C++ ObjC++ Var(flag_enforce_eh_specs) Init(1) 1208Generate code to check exception specifications. 1209 1210fenum-int-equiv 1211C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1212 1213fexec-charset= 1214C ObjC C++ ObjC++ Joined RejectNegative 1215-fexec-charset=<cset> Convert all strings and character constants to character set <cset>. 1216 1217fextended-identifiers 1218C ObjC C++ ObjC++ 1219Permit universal character names (\\u and \\U) in identifiers. 1220 1221finput-charset= 1222C ObjC C++ ObjC++ Joined RejectNegative 1223-finput-charset=<cset> Specify the default character set for source files. 1224 1225fextern-tls-init 1226C++ ObjC++ Var(flag_extern_tls_init) Init(-1) 1227Support dynamic initialization of thread-local variables in a different translation unit. 1228 1229fexternal-templates 1230C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1231 1232ffor-scope 1233C++ ObjC++ Var(flag_new_for_scope) Init(1) 1234Scope of for-init-statement variables is local to the loop. 1235 1236ffreestanding 1237C ObjC C++ ObjC++ 1238Do not assume that standard C libraries and \"main\" exist. 1239 1240fgnu-keywords 1241C++ ObjC++ Var(flag_no_gnu_keywords, 0) 1242Recognize GNU-defined keywords. 1243 1244fgnu-runtime 1245ObjC ObjC++ LTO Report RejectNegative Var(flag_next_runtime,0) Init(NEXT_OBJC_RUNTIME) 1246Generate code for GNU runtime environment. 1247 1248fgnu89-inline 1249C ObjC Var(flag_gnu89_inline) Init(-1) 1250Use traditional GNU semantics for inline functions. 1251 1252fguiding-decls 1253C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1254 1255fhandle-exceptions 1256C++ ObjC++ Optimization Alias(fexceptions) Warn({-fhandle-exceptions has been renamed -fexceptions (and is now on by default)}) 1257 1258fhonor-std 1259C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1260 1261fhosted 1262C ObjC 1263Assume normal C execution environment. 1264 1265fhuge-objects 1266C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1267No longer supported. 1268 1269fimplement-inlines 1270C++ ObjC++ Var(flag_implement_inlines) Init(1) 1271Export functions even if they can be inlined. 1272 1273fimplicit-inline-templates 1274C++ ObjC++ Var(flag_implicit_inline_templates) Init(1) 1275Emit implicit instantiations of inline templates. 1276 1277fimplicit-templates 1278C++ ObjC++ Var(flag_implicit_templates) Init(1) 1279Emit implicit instantiations of templates. 1280 1281ffriend-injection 1282C++ ObjC++ Var(flag_friend_injection) 1283Inject friend functions into enclosing namespace. 1284 1285fkeep-inline-dllexport 1286C C++ ObjC ObjC++ Var(flag_keep_inline_dllexport) Init(1) Report Condition(TARGET_DLLIMPORT_DECL_ATTRIBUTES) 1287Don't emit dllexported inline functions unless needed. 1288 1289flabels-ok 1290C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1291 1292flax-vector-conversions 1293C ObjC C++ ObjC++ Var(flag_lax_vector_conversions) 1294Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types. 1295 1296fms-extensions 1297C ObjC C++ ObjC++ Var(flag_ms_extensions) 1298Don't warn about uses of Microsoft extensions. 1299 1300fmudflap 1301C ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1302 1303fmudflapth 1304C ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1305 1306fmudflapir 1307C ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1308 1309fname-mangling-version- 1310C++ ObjC++ Joined Ignore Warn(switch %qs is no longer supported) 1311 1312fnew-abi 1313C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1314 1315fnext-runtime 1316ObjC ObjC++ LTO Report RejectNegative Var(flag_next_runtime) 1317Generate code for NeXT (Apple Mac OS X) runtime environment. 1318 1319fnil-receivers 1320ObjC ObjC++ Var(flag_nil_receivers) Init(1) 1321Assume that receivers of Objective-C messages may be nil. 1322 1323flocal-ivars 1324ObjC ObjC++ Var(flag_local_ivars) Init(1) 1325Allow access to instance variables as if they were local declarations within instance method implementations. 1326 1327fivar-visibility= 1328ObjC ObjC++ Joined RejectNegative Enum(ivar_visibility) Var(default_ivar_visibility) Init(IVAR_VISIBILITY_PROTECTED) 1329-fvisibility=[private|protected|public|package] Set the default symbol visibility. 1330 1331Enum 1332Name(ivar_visibility) Type(enum ivar_visibility) UnknownError(unrecognized ivar visibility value %qs) 1333 1334EnumValue 1335Enum(ivar_visibility) String(private) Value(IVAR_VISIBILITY_PRIVATE) 1336 1337EnumValue 1338Enum(ivar_visibility) String(protected) Value(IVAR_VISIBILITY_PROTECTED) 1339 1340EnumValue 1341Enum(ivar_visibility) String(public) Value(IVAR_VISIBILITY_PUBLIC) 1342 1343EnumValue 1344Enum(ivar_visibility) String(package) Value(IVAR_VISIBILITY_PACKAGE) 1345 1346fnonansi-builtins 1347C++ ObjC++ Var(flag_no_nonansi_builtin, 0) 1348 1349fnonnull-objects 1350C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1351 1352fnothrow-opt 1353C++ ObjC++ Optimization Var(flag_nothrow_opt) 1354Treat a throw() exception specification as noexcept to improve code size. 1355 1356fobjc-abi-version= 1357ObjC ObjC++ LTO Joined Report RejectNegative UInteger Var(flag_objc_abi) 1358Specify which ABI to use for Objective-C family code and meta-data generation. 1359 1360; Generate special '- .cxx_construct' and '- .cxx_destruct' methods 1361; to initialize any non-POD ivars in Objective-C++ classes. 1362fobjc-call-cxx-cdtors 1363ObjC++ Var(flag_objc_call_cxx_cdtors) 1364Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed. 1365 1366fobjc-direct-dispatch 1367ObjC ObjC++ Var(flag_objc_direct_dispatch) 1368Allow fast jumps to the message dispatcher. 1369 1370; Nonzero means that we will allow new ObjC exception syntax (@throw, 1371; @try, etc.) in source code. 1372fobjc-exceptions 1373ObjC ObjC++ Var(flag_objc_exceptions) 1374Enable Objective-C exception and synchronization syntax. 1375 1376fobjc-gc 1377ObjC ObjC++ LTO Var(flag_objc_gc) 1378Enable garbage collection (GC) in Objective-C/Objective-C++ programs. 1379 1380fobjc-nilcheck 1381ObjC ObjC++ Var(flag_objc_nilcheck,1) 1382Enable inline checks for nil receivers with the NeXT runtime and ABI version 2. 1383 1384; Nonzero means that we generate NeXT setjmp based exceptions. 1385fobjc-sjlj-exceptions 1386ObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1) 1387Enable Objective-C setjmp exception handling runtime. 1388 1389fobjc-std=objc1 1390ObjC ObjC++ Var(flag_objc1_only) 1391Conform to the Objective-C 1.0 language as implemented in GCC 4.0. 1392 1393fopenacc 1394C ObjC C++ ObjC++ LTO Var(flag_openacc) 1395Enable OpenACC. 1396 1397fopenacc-dim= 1398C ObjC C++ ObjC++ LTO Joined Var(flag_openacc_dims) 1399Specify default OpenACC compute dimensions. 1400 1401fopenmp 1402C ObjC C++ ObjC++ LTO Var(flag_openmp) 1403Enable OpenMP (implies -frecursive in Fortran). 1404 1405fopenmp-simd 1406C ObjC C++ ObjC++ Var(flag_openmp_simd) 1407Enable OpenMP's SIMD directives. 1408 1409foperator-names 1410C++ ObjC++ 1411Recognize C++ keywords like \"compl\" and \"xor\". 1412 1413foptional-diags 1414C++ ObjC++ Ignore 1415Does nothing. Preserved for backward compatibility. 1416 1417fpch-deps 1418C ObjC C++ ObjC++ 1419 1420fpch-preprocess 1421C ObjC C++ ObjC++ 1422Look for and use PCH files even when preprocessing. 1423 1424fpermissive 1425C++ ObjC++ Var(flag_permissive) 1426Downgrade conformance errors to warnings. 1427 1428fplan9-extensions 1429C ObjC Var(flag_plan9_extensions) 1430Enable Plan 9 language extensions. 1431 1432fpreprocessed 1433C ObjC C++ ObjC++ 1434Treat the input file as already preprocessed. 1435 1436ftrack-macro-expansion 1437C ObjC C++ ObjC++ JoinedOrMissing RejectNegative UInteger 1438; converted into ftrack-macro-expansion= 1439 1440ftrack-macro-expansion= 1441C ObjC C++ ObjC++ JoinedOrMissing RejectNegative UInteger 1442-ftrack-macro-expansion=<0|1|2> Track locations of tokens coming from macro expansion and display them in error messages. 1443 1444fpretty-templates 1445C++ ObjC++ Var(flag_pretty_templates) Init(1) 1446-fno-pretty-templates Do not pretty-print template specializations as the template signature followed by the arguments. 1447 1448freplace-objc-classes 1449ObjC ObjC++ LTO Var(flag_replace_objc_classes) 1450Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime. 1451 1452frepo 1453C++ ObjC++ 1454Enable automatic template instantiation. 1455 1456frtti 1457C++ ObjC++ Optimization Var(flag_rtti) Init(1) 1458Generate run time type descriptor information. 1459 1460fshort-enums 1461C ObjC C++ ObjC++ LTO Optimization Var(flag_short_enums) 1462Use the narrowest integer type possible for enumeration types. 1463 1464fshort-wchar 1465C ObjC C++ ObjC++ LTO Optimization Var(flag_short_wchar) 1466Force the underlying type for \"wchar_t\" to be \"unsigned short\". 1467 1468fsigned-bitfields 1469C ObjC C++ ObjC++ Var(flag_signed_bitfields) Init(1) 1470When \"signed\" or \"unsigned\" is not given make the bitfield signed. 1471 1472fsigned-char 1473C ObjC C++ ObjC++ LTO Var(flag_signed_char) 1474Make \"char\" signed by default. 1475 1476fsized-deallocation 1477C++ ObjC++ Var(flag_sized_deallocation) Init(-1) 1478Enable C++14 sized deallocation support. 1479 1480fsquangle 1481C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1482 1483fsso-struct= 1484C ObjC Joined Enum(sso_struct) Var(default_sso) Init(SSO_NATIVE) 1485-fsso-struct=[big-endian|little-endian] Set the default scalar storage order. 1486 1487Enum 1488Name(sso_struct) Type(enum scalar_storage_order_kind) UnknownError(unrecognized scalar storage order value %qs) 1489 1490EnumValue 1491Enum(sso_struct) String(big-endian) Value(SSO_BIG_ENDIAN) 1492 1493EnumValue 1494Enum(sso_struct) String(little-endian) Value(SSO_LITTLE_ENDIAN) 1495 1496fstats 1497C++ ObjC++ Var(flag_detailed_statistics) 1498Display statistics accumulated during compilation. 1499 1500fstrict-enums 1501C++ ObjC++ Optimization Var(flag_strict_enums) 1502Assume that values of enumeration type are always within the minimum range of that type. 1503 1504fstrict-prototype 1505C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1506 1507ftabstop= 1508C ObjC C++ ObjC++ Joined RejectNegative UInteger 1509-ftabstop=<number> Distance between tab stops for column reporting. 1510 1511ftemplate-backtrace-limit= 1512C++ ObjC++ Joined RejectNegative UInteger Var(template_backtrace_limit) Init(10) 1513Set the maximum number of template instantiation notes for a single warning or error. 1514 1515ftemplate-depth- 1516C++ ObjC++ Joined RejectNegative Undocumented Alias(ftemplate-depth=) 1517 1518ftemplate-depth= 1519C++ ObjC++ Joined RejectNegative UInteger 1520-ftemplate-depth=<number> Specify maximum template instantiation depth. 1521 1522fthis-is-variable 1523C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1524 1525fthreadsafe-statics 1526C++ ObjC++ Optimization Var(flag_threadsafe_statics) Init(1) 1527-fno-threadsafe-statics Do not generate thread-safe code for initializing local statics. 1528 1529funsigned-bitfields 1530C ObjC C++ ObjC++ Var(flag_signed_bitfields, 0) 1531When \"signed\" or \"unsigned\" is not given make the bitfield unsigned. 1532 1533funsigned-char 1534C ObjC C++ ObjC++ LTO Var(flag_signed_char, 0) 1535Make \"char\" unsigned by default. 1536 1537fuse-cxa-atexit 1538C++ ObjC++ Var(flag_use_cxa_atexit) Init(DEFAULT_USE_CXA_ATEXIT) 1539Use __cxa_atexit to register destructors. 1540 1541fuse-cxa-get-exception-ptr 1542C++ ObjC++ Var(flag_use_cxa_get_exception_ptr) Init(2) 1543Use __cxa_get_exception_ptr in exception handling. 1544 1545fvisibility-inlines-hidden 1546C++ ObjC++ 1547Marks all inlined functions and methods as having hidden visibility. 1548 1549fvisibility-ms-compat 1550C++ ObjC++ Var(flag_visibility_ms_compat) 1551Changes visibility to match Microsoft Visual Studio by default. 1552 1553fvtable-gc 1554C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1555No longer supported. 1556 1557fvtable-thunks 1558C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1559No longer supported. 1560 1561fweak 1562C++ ObjC++ Var(flag_weak) Init(1) 1563Emit common-like symbols as weak symbols. 1564 1565fwide-exec-charset= 1566C ObjC C++ ObjC++ Joined RejectNegative 1567-fwide-exec-charset=<cset> Convert all wide strings and character constants to character set <cset>. 1568 1569fworking-directory 1570C ObjC C++ ObjC++ Var(flag_working_directory) Init(-1) 1571Generate a #line directive pointing at the current working directory. 1572 1573fxref 1574C++ ObjC++ Ignore Warn(switch %qs is no longer supported) 1575No longer supported. 1576 1577fzero-link 1578ObjC ObjC++ Var(flag_zero_link) 1579Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode. 1580 1581gen-decls 1582ObjC ObjC++ Var(flag_gen_declaration) 1583Dump declarations to a .decl file. 1584 1585femit-struct-debug-baseonly 1586C ObjC C++ ObjC++ 1587-femit-struct-debug-baseonly Aggressive reduced debug info for structs. 1588 1589femit-struct-debug-reduced 1590C ObjC C++ ObjC++ 1591-femit-struct-debug-reduced Conservative reduced debug info for structs. 1592 1593femit-struct-debug-detailed= 1594C ObjC C++ ObjC++ Joined 1595-femit-struct-debug-detailed=<spec-list> Detailed reduced debug info for structs. 1596 1597fext-numeric-literals 1598C++ ObjC++ 1599Interpret imaginary, fixed-point, or other gnu number suffix as the corresponding 1600number literal rather than a user-defined number literal. 1601 1602idirafter 1603C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs) 1604-idirafter <dir> Add <dir> to the end of the system include path. 1605 1606imacros 1607C ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs) 1608-imacros <file> Accept definition of macros in <file>. 1609 1610imultilib 1611C ObjC C++ ObjC++ Joined Separate 1612-imultilib <dir> Set <dir> to be the multilib include subdirectory. 1613 1614include 1615C ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs) 1616-include <file> Include the contents of <file> before other files. 1617 1618iprefix 1619C ObjC C++ ObjC++ Joined Separate 1620-iprefix <path> Specify <path> as a prefix for next two options. 1621 1622isysroot 1623C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs) 1624-isysroot <dir> Set <dir> to be the system root directory. 1625 1626isystem 1627C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs) 1628-isystem <dir> Add <dir> to the start of the system include path. 1629 1630iquote 1631C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs) 1632-iquote <dir> Add <dir> to the end of the quote include path. 1633 1634iremap 1635C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs) 1636-iremap <src:dst> Convert <src> to <dst> if it occurs as prefix in __FILE__. 1637 1638iwithprefix 1639C ObjC C++ ObjC++ Joined Separate 1640-iwithprefix <dir> Add <dir> to the end of the system include path. 1641 1642iwithprefixbefore 1643C ObjC C++ ObjC++ Joined Separate 1644-iwithprefixbefore <dir> Add <dir> to the end of the main include path. 1645 1646lang-asm 1647C Undocumented RejectDriver 1648 1649no-integrated-cpp 1650Driver 1651 1652nostdinc 1653C ObjC C++ ObjC++ 1654Do not search standard system include directories (those specified with -isystem will still be used). 1655 1656nostdinc++ 1657C++ ObjC++ 1658Do not search standard system include directories for C++. 1659 1660o 1661C ObjC C++ ObjC++ Joined Separate 1662; Documented in common.opt 1663 1664pedantic 1665C ObjC C++ ObjC++ Alias(Wpedantic) 1666; Documented in common.opt 1667 1668print-objc-runtime-info 1669ObjC ObjC++ 1670Generate C header of platform-specific features. 1671 1672remap 1673C ObjC C++ ObjC++ 1674Remap file names when including files. 1675 1676std=c++98 1677C++ ObjC++ 1678Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum. 1679 1680std=c++03 1681C++ ObjC++ Alias(std=c++98) 1682Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum. 1683 1684std=c++11 1685C++ ObjC++ 1686Conform to the ISO 2011 C++ standard. 1687 1688std=c++0x 1689C++ ObjC++ Alias(std=c++11) Undocumented 1690Deprecated in favor of -std=c++11. 1691 1692std=c++1y 1693C++ ObjC++ Alias(std=c++14) Undocumented 1694Deprecated in favor of -std=c++14. 1695 1696std=c++14 1697C++ ObjC++ 1698Conform to the ISO 2014 C++ standard. 1699 1700std=c++1z 1701C++ ObjC++ 1702Conform to the ISO 2017(?) C++ draft standard (experimental and incomplete support). 1703 1704std=c++17 1705C++ ObjC++ Alias(std=c++1z) Undocumented 1706 1707std=c11 1708C ObjC 1709Conform to the ISO 2011 C standard. 1710 1711std=c1x 1712C ObjC Alias(std=c11) 1713Deprecated in favor of -std=c11. 1714 1715std=c89 1716C ObjC Alias(std=c90) 1717Conform to the ISO 1990 C standard. 1718 1719std=c90 1720C ObjC 1721Conform to the ISO 1990 C standard. 1722 1723std=c99 1724C ObjC 1725Conform to the ISO 1999 C standard. 1726 1727std=c9x 1728C ObjC Alias(std=c99) 1729Deprecated in favor of -std=c99. 1730 1731std=gnu++98 1732C++ ObjC++ 1733Conform to the ISO 1998 C++ standard revised by the 2003 technical 1734corrigendum with GNU extensions. 1735 1736std=gnu++03 1737C++ ObjC++ Alias(std=gnu++98) 1738Conform to the ISO 1998 C++ standard revised by the 2003 technical 1739corrigendum with GNU extensions. 1740 1741std=gnu++11 1742C++ ObjC++ 1743Conform to the ISO 2011 C++ standard with GNU extensions. 1744 1745std=gnu++0x 1746C++ ObjC++ Alias(std=gnu++11) Undocumented 1747Deprecated in favor of -std=gnu++11. 1748 1749std=gnu++1y 1750C++ ObjC++ Alias(std=gnu++14) Undocumented 1751Deprecated in favor of -std=gnu++14. 1752 1753std=gnu++14 1754C++ ObjC++ 1755Conform to the ISO 2014 C++ standard with GNU extensions. 1756 1757std=gnu++1z 1758C++ ObjC++ 1759Conform to the ISO 201z(7?) C++ draft standard with GNU extensions (experimental and incomplete support). 1760 1761std=gnu++17 1762C++ ObjC++ Alias(std=gnu++1z) Undocumented 1763 1764std=gnu11 1765C ObjC 1766Conform to the ISO 2011 C standard with GNU extensions. 1767 1768std=gnu1x 1769C ObjC Alias(std=gnu11) 1770Deprecated in favor of -std=gnu11. 1771 1772std=gnu89 1773C ObjC Alias(std=gnu90) 1774Conform to the ISO 1990 C standard with GNU extensions. 1775 1776std=gnu90 1777C ObjC 1778Conform to the ISO 1990 C standard with GNU extensions. 1779 1780std=gnu99 1781C ObjC 1782Conform to the ISO 1999 C standard with GNU extensions. 1783 1784std=gnu9x 1785C ObjC Alias(std=gnu99) 1786Deprecated in favor of -std=gnu99. 1787 1788std=iso9899:1990 1789C ObjC Alias(std=c90) 1790Conform to the ISO 1990 C standard. 1791 1792std=iso9899:199409 1793C ObjC 1794Conform to the ISO 1990 C standard as amended in 1994. 1795 1796std=iso9899:1999 1797C ObjC Alias(std=c99) 1798Conform to the ISO 1999 C standard. 1799 1800std=iso9899:199x 1801C ObjC Alias(std=c99) 1802Deprecated in favor of -std=iso9899:1999. 1803 1804std=iso9899:2011 1805C ObjC Alias(std=c11) 1806Conform to the ISO 2011 C standard. 1807 1808traditional 1809Driver 1810 1811traditional-cpp 1812C ObjC C++ ObjC++ 1813Enable traditional preprocessing. 1814 1815trigraphs 1816C ObjC C++ ObjC++ 1817-trigraphs Support ISO C trigraphs. 1818 1819undef 1820C ObjC C++ ObjC++ Var(flag_undef) 1821Do not predefine system-specific and GCC-specific macros. 1822 1823v 1824C ObjC C++ ObjC++ 1825; Documented in common.opt 1826 1827w 1828C ObjC C++ ObjC++ 1829; Documented in common.opt 1830 1831; This comment is to ensure we retain the blank line above. 1832