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