[RS6000] lqarx and stqcx. registers
[official-gcc.git] / gcc / c-family / c.opt
blobf243744a97885c32f91a652070a286f23e0f801f
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) 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 Wdate-time
374 C ObjC C++ ObjC++ CPP(warn_date_time) CppReason(CPP_W_DATE_TIME) Var(cpp_warn_date_time) Init(0) Warning
375 Warn about __TIME__, __DATE__ and __TIMESTAMP__ usage.
377 Wdeclaration-after-statement
378 C ObjC Var(warn_declaration_after_statement) Init(-1) Warning
379 Warn when a declaration is found after a statement.
381 Wdelete-incomplete
382 C++ ObjC++ Var(warn_delete_incomplete) Init(1) Warning
383 Warn when deleting a pointer to incomplete type.
385 Wdelete-non-virtual-dtor
386 C++ ObjC++ Var(warn_delnonvdtor) Warning LangEnabledBy(C++ ObjC++,Wall || Weffc++)
387 Warn about deleting polymorphic objects with non-virtual destructors.
389 Wdeprecated
390 C C++ ObjC ObjC++ CPP(cpp_warn_deprecated) CppReason(CPP_W_DEPRECATED) Var(warn_deprecated) Init(1) Warning
391 Warn if a deprecated compiler feature, class, method, or field is used.
393 Wdesignated-init
394 C ObjC Var(warn_designated_init) Init(1) Warning
395 Warn about positional initialization of structs requiring designated initializers.
397 Wdiscarded-array-qualifiers
398 C ObjC Var(warn_discarded_array_qualifiers) Init(1) Warning
399 Warn if qualifiers on arrays which are pointer targets are discarded.
401 Wdiscarded-qualifiers
402 C ObjC Var(warn_discarded_qualifiers) Init(1) Warning
403 Warn if type qualifiers on pointers are discarded.
405 Wdiv-by-zero
406 C ObjC C++ ObjC++ Var(warn_div_by_zero) Init(1) Warning
407 Warn about compile-time integer division by zero.
409 Wduplicated-cond
410 C ObjC C++ ObjC++ Var(warn_duplicated_cond) Init(0) Warning
411 Warn about duplicated conditions in an if-else-if chain.
413 Weffc++
414 C++ ObjC++ Var(warn_ecpp) Warning
415 Warn about violations of Effective C++ style rules.
417 Wempty-body
418 C ObjC C++ ObjC++ Var(warn_empty_body) Warning EnabledBy(Wextra)
419 Warn about an empty body in an if or else statement.
421 Wendif-labels
422 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)
423 Warn about stray tokens after #elif and #endif.
425 Wenum-compare
426 C ObjC C++ ObjC++ Var(warn_enum_compare) Init(-1) Warning LangEnabledBy(C ObjC,Wall || Wc++-compat)
427 Warn about comparison of different enum types.
429 Werror
430 C ObjC C++ ObjC++
431 ; Documented in common.opt
433 Werror-implicit-function-declaration
434 C ObjC RejectNegative Warning Alias(Werror=, implicit-function-declaration)
435 This switch is deprecated; use -Werror=implicit-function-declaration instead.
437 Wfloat-conversion
438 C ObjC C++ ObjC++ Var(warn_float_conversion) Warning LangEnabledBy(C ObjC C++ ObjC++,Wconversion)
439 Warn for implicit type conversions that cause loss of floating point precision.
441 Wfloat-equal
442 C ObjC C++ ObjC++ Var(warn_float_equal) Warning
443 Warn if testing floating point numbers for equality.
445 Wformat
446 C ObjC C++ ObjC++ Warning Alias(Wformat=, 1, 0)
447 Warn about printf/scanf/strftime/strfmon format string anomalies.
449 Wformat-contains-nul
450 C ObjC C++ ObjC++ Var(warn_format_contains_nul) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 1, 0)
451 Warn about format strings that contain NUL bytes.
453 Wformat-extra-args
454 C ObjC C++ ObjC++ Var(warn_format_extra_args) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 1, 0)
455 Warn if passing too many arguments to a function for its format string.
457 Wformat-nonliteral
458 C ObjC C++ ObjC++ Var(warn_format_nonliteral) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
459 Warn about format strings that are not literals.
461 Wformat-security
462 C ObjC C++ ObjC++ Var(warn_format_security) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
463 Warn about possible security problems with format functions.
465 Wformat-signedness
466 C ObjC C++ ObjC++ Var(warn_format_signedness) Warning
467 Warn about sign differences with format functions.
469 Wformat-y2k
470 C ObjC C++ ObjC++ Var(warn_format_y2k) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=,warn_format >= 2, 0)
471 Warn about strftime formats yielding 2-digit years.
473 Wformat-zero-length
474 C ObjC C++ ObjC++ Var(warn_format_zero_length) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=,warn_format >= 1, 0)
475 Warn about zero-length formats.
477 Wformat=
478 C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0)
479 Warn about printf/scanf/strftime/strfmon format string anomalies.
481 Wignored-qualifiers
482 C C++ Var(warn_ignored_qualifiers) Warning EnabledBy(Wextra)
483 Warn whenever type qualifiers are ignored.
485 Wincompatible-pointer-types
486 C ObjC Var(warn_incompatible_pointer_types) Init(1) Warning
487 Warn when there is a conversion between pointers that have incompatible types.
489 Winit-self
490 C ObjC C++ ObjC++ Var(warn_init_self) Warning LangEnabledBy(C++ ObjC++,Wall)
491 Warn about variables which are initialized to themselves.
493 Wimplicit
494 C ObjC Var(warn_implicit) Warning LangEnabledBy(C ObjC,Wall)
495 Warn about implicit declarations.
497 Wdouble-promotion
498 C ObjC C++ ObjC++ Var(warn_double_promotion) Warning
499 Warn about implicit conversions from \"float\" to \"double\".
501 Wimplicit-function-declaration
502 C ObjC Var(warn_implicit_function_declaration) Init(-1) Warning LangEnabledBy(C ObjC,Wimplicit)
503 Warn about implicit function declarations.
505 Wimplicit-int
506 C ObjC Var(warn_implicit_int) Init(-1) Warning LangEnabledBy(C ObjC,Wimplicit)
507 Warn when a declaration does not specify a type.
509 Wimport
510 C ObjC C++ ObjC++ Undocumented Ignore
512 Winherited-variadic-ctor
513 C++ ObjC++ Var(warn_inh_var_ctor) Init(1) Warning
514 Warn about C++11 inheriting constructors when the base has a variadic constructor.
516 Wint-conversion
517 C ObjC Var(warn_int_conversion) Init(1) Warning
518 Warn about incompatible integer to pointer and pointer to integer conversions.
520 Wint-to-pointer-cast
521 C ObjC C++ ObjC++ Var(warn_int_to_pointer_cast) Init(1) Warning
522 Warn when there is a cast to a pointer from an integer of a different size.
524 Winvalid-offsetof
525 C++ ObjC++ Var(warn_invalid_offsetof) Init(1) Warning
526 Warn about invalid uses of the \"offsetof\" macro.
528 Winvalid-pch
529 C ObjC C++ ObjC++ CPP(warn_invalid_pch) CppReason(CPP_W_INVALID_PCH) Var(cpp_warn_invalid_pch) Init(0) Warning
530 Warn about PCH files that are found but not used.
532 Wjump-misses-init
533 C ObjC Var(warn_jump_misses_init) Warning LangEnabledby(C ObjC,Wc++-compat)
534 Warn when a jump misses a variable initialization.
536 Wliteral-suffix
537 C++ ObjC++ CPP(warn_literal_suffix) CppReason(CPP_W_LITERAL_SUFFIX) Var(cpp_warn_literal_suffix) Init(1) Warning
538 Warn when a string or character literal is followed by a ud-suffix which does not begin with an underscore.
540 Wlogical-op
541 C ObjC C++ ObjC++ Var(warn_logical_op) Init(0) Warning
542 Warn when a logical operator is suspiciously always evaluating to true or false.
544 Wlogical-not-parentheses
545 C ObjC C++ ObjC++ Var(warn_logical_not_paren) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
546 Warn when logical not is used on the left hand side operand of a comparison.
548 Wlong-long
549 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)
550 Do not warn about using \"long long\" when -pedantic.
552 Wmain
553 C ObjC C++ ObjC++ Var(warn_main) Init(-1) Warning LangEnabledBy(C ObjC,Wall, 2, 0)
554 Warn about suspicious declarations of \"main\".
556 Wmain
557 LangEnabledBy(C ObjC C++ ObjC++,Wpedantic, 2, 0)
560 Wmemset-transposed-args
561 C ObjC C++ ObjC++ Var(warn_memset_transposed_args) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
562 Warn about suspicious calls to memset where the third argument is constant literal zero and the second is not.
564 Wmisleading-indentation
565 C C++ Common Var(warn_misleading_indentation) Warning LangEnabledBy(C C++,Wall)
566 Warn when the indentation of the code does not reflect the block structure.
568 Wmissing-braces
569 C ObjC C++ ObjC++ Var(warn_missing_braces) Warning LangEnabledBy(C ObjC,Wall)
570 Warn about possibly missing braces around initializers.
572 Wmissing-declarations
573 C ObjC C++ ObjC++ Var(warn_missing_declarations) Warning
574 Warn about global functions without previous declarations.
576 Wmissing-field-initializers
577 C ObjC C++ ObjC++ Var(warn_missing_field_initializers) Warning EnabledBy(Wextra)
578 Warn about missing fields in struct initializers.
580 Wmultiple-inheritance
581 C++ ObjC++ Var(warn_multiple_inheritance) Warning
582 Warn on direct multiple inheritance.
584 Wnamespaces
585 C++ ObjC++ Var(warn_namespaces) Warning
586 Warn on namespace definition.
588 Wsized-deallocation
589 C++ ObjC++ Var(warn_sized_deallocation) Warning EnabledBy(Wextra)
590 Warn about missing sized deallocation functions.
592 Wsizeof-pointer-memaccess
593 C ObjC C++ ObjC++ Var(warn_sizeof_pointer_memaccess) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
594 Warn about suspicious length parameters to certain string functions if the argument uses sizeof.
596 Wsizeof-array-argument
597 C ObjC C++ ObjC++ Var(warn_sizeof_array_argument) Warning Init(1)
598 Warn when sizeof is applied on a parameter declared as an array.
600 Wsuggest-attribute=format
601 C ObjC C++ ObjC++ Var(warn_suggest_attribute_format) Warning
602 Warn about functions which might be candidates for format attributes.
604 Wsuggest-override
605 C++ ObjC++ Var(warn_override) Warning
606 Suggest that the override keyword be used when the declaration of a virtual
607 function overrides another.
609 Wswitch
610 C ObjC C++ ObjC++ Var(warn_switch) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
611 Warn about enumerated switches, with no default, missing a case.
613 Wswitch-default
614 C ObjC C++ ObjC++ Var(warn_switch_default) Warning
615 Warn about enumerated switches missing a \"default:\" statement.
617 Wswitch-enum
618 C ObjC C++ ObjC++ Var(warn_switch_enum) Warning
619 Warn about all enumerated switches missing a specific case.
621 Wswitch-bool
622 C ObjC C++ ObjC++ Var(warn_switch_bool) Warning Init(1)
623 Warn about switches with boolean controlling expression.
625 Wtemplates
626 C++ ObjC++ Var(warn_templates) Warning
627 Warn on primary template declaration.
629 Wmissing-format-attribute
630 C ObjC C++ ObjC++ Warning Alias(Wsuggest-attribute=format)
633 Wmissing-include-dirs
634 C ObjC C++ ObjC++ CPP(warn_missing_include_dirs) CppReason(CPP_W_MISSING_INCLUDE_DIRS) Var(cpp_warn_missing_include_dirs) Init(0) Warning
635 Warn about user-specified include directories that do not exist.
637 Wmissing-parameter-type
638 C ObjC Var(warn_missing_parameter_type) Warning EnabledBy(Wextra)
639 Warn about function parameters declared without a type specifier in K&R-style functions.
641 Wmissing-prototypes
642 C ObjC Var(warn_missing_prototypes) Warning
643 Warn about global functions without prototypes.
645 Wmudflap
646 C ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
648 Wmultichar
649 C ObjC C++ ObjC++ CPP(warn_multichar) CppReason(CPP_W_MULTICHAR) Var(cpp_warn_multichar) Init(0) Warning
650 Warn about use of multi-character character constants.
652 Wnarrowing
653 C ObjC C++ ObjC++ Warning Var(warn_narrowing) Init(-1) LangEnabledBy(C++ ObjC++,Wall || Wc++11-compat)
654 Warn about narrowing conversions within { } that are ill-formed in C++11.
656 Wnested-externs
657 C ObjC Var(warn_nested_externs) Warning
658 Warn about \"extern\" declarations not at file scope.
660 Wnoexcept
661 C++ ObjC++ Var(warn_noexcept) Warning
662 Warn when a noexcept expression evaluates to false even though the expression can't actually throw.
664 Wnon-template-friend
665 C++ ObjC++ Var(warn_nontemplate_friend) Init(1) Warning
666 Warn when non-templatized friend functions are declared within a template.
668 Wnon-virtual-dtor
669 C++ ObjC++ Var(warn_nonvdtor) Warning LangEnabledBy(C++ ObjC++,Weffc++)
670 Warn about non-virtual destructors.
672 Wnonnull
673 C ObjC C++ ObjC++ Var(warn_nonnull) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=,warn_format >= 1,0)
674 Warn about NULL being passed to argument slots marked as requiring non-NULL.
676 Wnonnull
677 C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall)
680 Wnormalized
681 C ObjC C++ ObjC++ Warning Alias(Wnormalized=,nfc,none)
684 Wnormalized=
685 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)
686 -Wnormalized=<none|id|nfc|nfkc> Warn about non-normalised Unicode strings.
688 ; Required for these enum values.
689 SourceInclude
690 cpplib.h
692 Enum
693 Name(cpp_normalize_level) Type(int) UnknownError(argument %qs to %<-Wnormalized%> not recognized)
695 EnumValue
696 Enum(cpp_normalize_level) String(none) Value(normalized_none)
698 EnumValue
699 Enum(cpp_normalize_level) String(nfkc) Value(normalized_KC)
701 EnumValue
702 Enum(cpp_normalize_level) String(id) Value(normalized_identifier_C)
704 EnumValue
705 Enum(cpp_normalize_level) String(nfc) Value(normalized_C)
707 Wold-style-cast
708 C++ ObjC++ Var(warn_old_style_cast) Warning
709 Warn if a C-style cast is used in a program.
711 Wold-style-declaration
712 C ObjC Var(warn_old_style_declaration) Warning EnabledBy(Wextra)
713 Warn for obsolescent usage in a declaration.
715 Wold-style-definition
716 C ObjC Var(warn_old_style_definition) Warning
717 Warn if an old-style parameter definition is used.
719 Wopenmp-simd
720 C C++ Var(warn_openmp_simd) Warning LangEnabledBy(C C++,Wall)
721 Warn if a simd directive is overridden by the vectorizer cost model.
723 Woverlength-strings
724 C ObjC C++ ObjC++ Var(warn_overlength_strings) Warning LangEnabledBy(C ObjC C++ ObjC++,Wpedantic)
725 Warn if a string is longer than the maximum portable length specified by the standard.
727 Woverloaded-virtual
728 C++ ObjC++ Var(warn_overloaded_virtual) Warning
729 Warn about overloaded virtual function names.
731 Woverride-init
732 C ObjC Var(warn_override_init) Warning EnabledBy(Wextra)
733 Warn about overriding initializers without side effects.
735 Woverride-init-side-effects
736 C ObjC Var(warn_override_init_side_effects) Init(1) Warning
737 Warn about overriding initializers with side effects.
739 Wpacked-bitfield-compat
740 C ObjC C++ ObjC++ Var(warn_packed_bitfield_compat) Init(-1) Warning
741 Warn about packed bit-fields whose offset changed in GCC 4.4.
743 Wparentheses
744 C ObjC C++ ObjC++ Var(warn_parentheses) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
745 Warn about possibly missing parentheses.
747 Wpedantic
748 C ObjC C++ ObjC++ CPP(cpp_pedantic) CppReason(CPP_W_PEDANTIC) Warning
749 ; Documented in common.opt
751 Wpmf-conversions
752 C++ ObjC++ Var(warn_pmf2ptr) Init(1) Warning
753 Warn when converting the type of pointers to member functions.
755 Wpointer-arith
756 C ObjC C++ ObjC++ Var(warn_pointer_arith) Warning LangEnabledBy(C ObjC C++ ObjC++,Wpedantic)
757 Warn about function pointer arithmetic.
759 Wpointer-sign
760 C ObjC Var(warn_pointer_sign) Warning LangEnabledBy(C ObjC,Wall || Wpedantic)
761 Warn when a pointer differs in signedness in an assignment.
763 Wpointer-to-int-cast
764 C ObjC Var(warn_pointer_to_int_cast) Init(1) Warning
765 Warn when a pointer is cast to an integer of a different size.
767 Wpragmas
768 C ObjC C++ ObjC++ Var(warn_pragmas) Init(1) Warning
769 Warn about misuses of pragmas.
771 Wproperty-assign-default
772 ObjC ObjC++ Var(warn_property_assign_default) Init(1) Warning
773 Warn if a property for an Objective-C object has no assign semantics specified.
775 Wprotocol
776 ObjC ObjC++ Var(warn_protocol) Init(1) Warning
777 Warn if inherited methods are unimplemented.
779 Wplacement-new
780 C++ Var(warn_placement_new) Init(1) Warning
781 Warn for placement new expressions with undefined behavior.
783 Wredundant-decls
784 C ObjC C++ ObjC++ Var(warn_redundant_decls) Warning
785 Warn about multiple declarations of the same object.
787 Wreorder
788 C++ ObjC++ Var(warn_reorder) Warning LangEnabledBy(C++ ObjC++,Wall)
789 Warn when the compiler reorders code.
791 Wreturn-type
792 C ObjC C++ ObjC++ Var(warn_return_type) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
793 Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++).
795 Wscalar-storage-order
796 C ObjC C++ ObjC++ Init(1) Warning
797 Warn on suspicious constructs involving reverse scalar storage order.
799 Wselector
800 ObjC ObjC++ Var(warn_selector) Warning
801 Warn if a selector has multiple methods.
803 Wsequence-point
804 C ObjC C++ ObjC++ Var(warn_sequence_point) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
805 Warn about possible violations of sequence point rules.
807 Wshadow-ivar
808 ObjC ObjC++ Var(warn_shadow_ivar) EnabledBy(Wshadow) Init(1) Warning
809 Warn if a local declaration hides an instance variable.
811 Wshift-overflow
812 C ObjC C++ ObjC++ Warning Alias(Wshift-overflow=, 1, 0)
813 Warn if left shift of a signed value overflows.
815 Wshift-overflow=
816 C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_shift_overflow) Init(-1) Warning
817 Warn if left shift of a signed value overflows.
819 Wshift-count-negative
820 C ObjC C++ ObjC++ Var(warn_shift_count_negative) Init(1) Warning
821 Warn if shift count is negative.
823 Wshift-count-overflow
824 C ObjC C++ ObjC++ Var(warn_shift_count_overflow) Init(1) Warning
825 Warn if shift count >= width of type.
827 Wshift-negative-value
828 C ObjC C++ ObjC++ Var(warn_shift_negative_value) Init(-1) Warning
829 Warn if left shifting a negative value.
831 Wsign-compare
832 C ObjC C++ ObjC++ Var(warn_sign_compare) Warning LangEnabledBy(C++ ObjC++,Wall)
833 Warn about signed-unsigned comparisons.
835 Wsign-compare
836 C ObjC C++ ObjC++ EnabledBy(Wextra)
839 Wsign-conversion
840 C ObjC C++ ObjC++ Var(warn_sign_conversion) Warning LangEnabledBy(C ObjC,Wconversion)
841 Warn for implicit type conversions between signed and unsigned integers.
843 Wsign-promo
844 C++ ObjC++ Var(warn_sign_promo) Warning
845 Warn when overload promotes from unsigned to signed.
847 Wstrict-null-sentinel
848 C++ ObjC++ Warning Var(warn_strict_null_sentinel)
849 Warn about uncasted NULL used as sentinel.
851 Wstrict-prototypes
852 C ObjC Var(warn_strict_prototypes) Warning
853 Warn about unprototyped function declarations.
855 Wstrict-aliasing=
856 C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall, 3, 0)
859 Wstrict-overflow=
860 C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0)
863 Wstrict-selector-match
864 ObjC ObjC++ Var(warn_strict_selector_match) Warning
865 Warn if type signatures of candidate methods do not match exactly.
867 Wsync-nand
868 C C++ Var(warn_sync_nand) Init(1) Warning
869 Warn when __sync_fetch_and_nand and __sync_nand_and_fetch built-in functions are used.
871 Wsynth
872 C++ ObjC++ Var(warn_synth) Warning
873 Deprecated.  This switch has no effect.
875 Wsystem-headers
876 C ObjC C++ ObjC++ Warning
877 ; Documented in common.opt
879 Wtautological-compare
880 C ObjC C++ ObjC++ Var(warn_tautological_compare) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
881 Warn if a comparison always evaluates to true or false.
883 Wterminate
884 C++ ObjC++ Warning Var(warn_terminate) Init(1)
885 Warn if a throw expression will always result in a call to terminate().
887 Wtraditional
888 C ObjC CPP(cpp_warn_traditional) CppReason(CPP_W_TRADITIONAL) Var(warn_traditional) Init(0) Warning
889 Warn about features not present in traditional C.
891 Wtraditional-conversion
892 C ObjC Var(warn_traditional_conversion) Warning
893 Warn of prototypes causing type conversions different from what would happen in the absence of prototype.
895 Wtrigraphs
896 C ObjC C++ ObjC++ CPP(warn_trigraphs) CppReason(CPP_W_TRIGRAPHS) Var(cpp_warn_trigraphs) Init(2) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
897 Warn if trigraphs are encountered that might affect the meaning of the program.
899 Wundeclared-selector
900 ObjC ObjC++ Var(warn_undeclared_selector) Warning
901 Warn about @selector()s without previously declared methods.
903 Wundef
904 C ObjC C++ ObjC++ CPP(warn_undef) CppReason(CPP_W_UNDEF) Var(cpp_warn_undef) Init(0) Warning
905 Warn if an undefined macro is used in an #if directive.
907 Wuninitialized
908 C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall)
911 Wmaybe-uninitialized
912 C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall)
915 Wunknown-pragmas
916 C ObjC C++ ObjC++ Warning Var(warn_unknown_pragmas) LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0)
917 Warn about unrecognized pragmas.
919 Wunsuffixed-float-constants
920 C ObjC Var(warn_unsuffixed_float_constants) Warning
921 Warn about unsuffixed float constants.
923 Wunused
924 C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall)
925 ; documented in common.opt
927 Wunused-local-typedefs
928 C ObjC C++ ObjC++ Var(warn_unused_local_typedefs) Warning EnabledBy(Wunused)
929 Warn when typedefs locally defined in a function are not used.
931 Wunused-macros
932 C ObjC C++ ObjC++ CppReason(CPP_W_UNUSED_MACROS) Var(cpp_warn_unused_macros) Warning
933 Warn about macros defined in the main file that are not used.
935 Wunused-result
936 C ObjC C++ ObjC++ Var(warn_unused_result) Init(1) Warning
937 Warn if a caller of a function, marked with attribute warn_unused_result, does not use its return value.
939 Wunused-variable
940 C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wunused)
941 ; documented in common.opt
943 Wunused-const-variable
944 C ObjC C++ ObjC++ Var(warn_unused_const_variable) Warning LangEnabledBy(C ObjC,Wunused-variable)
945 Warn when a const variable is unused.
947 Wvariadic-macros
948 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)
949 Warn about using variadic macros.
951 Wvarargs
952 C ObjC C++ ObjC++ Warning Var(warn_varargs) Init(1)
953 Warn about questionable usage of the macros used to retrieve variable arguments.
955 Wvla
956 C ObjC C++ ObjC++ Var(warn_vla) Init(-1) Warning
957 Warn if a variable length array is used.
959 Wvolatile-register-var
960 C ObjC C++ ObjC++ Var(warn_volatile_register_var) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
961 Warn when a register variable is declared volatile.
963 Wvirtual-inheritance
964 C++ ObjC++ Var(warn_virtual_inheritance) Warning
965 Warn on direct virtual inheritance.
967 Wvirtual-move-assign
968 C++ ObjC++ Var(warn_virtual_move_assign) Warning Init(1)
969 Warn if a virtual base has a non-trivial move assignment operator.
971 Wwrite-strings
972 C ObjC C++ ObjC++ Var(warn_write_strings) Warning
973 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.
975 Wzero-as-null-pointer-constant
976 C++ ObjC++ Var(warn_zero_as_null_pointer_constant) Warning
977 Warn when a literal '0' is used as null pointer.
979 Wuseless-cast
980 C++ ObjC++ Var(warn_useless_cast) Warning
981 Warn about useless casts.
983 Wsubobject-linkage
984 C++ ObjC++ Var(warn_subobject_linkage) Warning Init(1)
985 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.
987 ansi
988 C ObjC C++ ObjC++
989 A synonym for -std=c89 (for C) or -std=c++98 (for C++).
992 C ObjC C++ ObjC++ Joined
993 ; Documented in common.opt.  FIXME - what about -dI, -dD, -dN and -dD?
995 fabi-compat-version=
996 C++ ObjC++ Joined RejectNegative UInteger Var(flag_abi_compat_version) Init(-1)
997 The version of the C++ ABI used for -Wabi warnings and link compatibility aliases.
999 faccess-control
1000 C++ ObjC++ Var(flag_access_control) Init(1)
1001 Enforce class member access control semantics.
1003 fada-spec-parent=
1004 C ObjC C++ ObjC++ RejectNegative Joined Var(ada_specs_parent)
1005 -fada-spec-parent=unit  Dump Ada specs as child units of given parent.
1007 fall-virtual
1008 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1010 fallow-parameterless-variadic-functions
1011 C ObjC Var(flag_allow_parameterless_variadic_functions)
1012 Allow variadic functions without named parameter.
1014 falt-external-templates
1015 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1016 No longer supported.
1018 fasm
1019 C ObjC C++ ObjC++ Var(flag_no_asm, 0)
1020 Recognize the \"asm\" keyword.
1022 ; Define extra predefined macros for use in libgcc.
1023 fbuilding-libgcc
1024 C ObjC C++ ObjC++ Undocumented Var(flag_building_libgcc)
1026 fbuiltin
1027 C ObjC C++ ObjC++ Var(flag_no_builtin, 0)
1028 Recognize built-in functions.
1030 fbuiltin-
1031 C ObjC C++ ObjC++ Joined
1033 fcanonical-system-headers
1034 C ObjC C++ ObjC++
1035 Where shorter, use canonicalized paths to systems headers.
1037 fcheck-pointer-bounds
1038 C ObjC C++ ObjC++ LTO Report Var(flag_check_pointer_bounds)
1039 Add Pointer Bounds Checker instrumentation.  fchkp-* flags are used to
1040 control instrumentation.  Currently available for C, C++ and ObjC.
1042 fchkp-check-incomplete-type
1043 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_incomplete_type) Init(1)
1044 Generate pointer bounds checks for variables with incomplete type.
1046 fchkp-zero-input-bounds-for-main
1047 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_zero_input_bounds_for_main) Init(0)
1048 Use zero bounds for all incoming arguments in 'main' function.  It helps when
1049 instrumented binaries are used with legacy libs.
1051 fchkp-first-field-has-own-bounds
1052 C ObjC C++ ObjC++ LTO RejectNegative Report Var(flag_chkp_first_field_has_own_bounds)
1053 Forces Pointer Bounds Checker to use narrowed bounds for address of the first
1054 field in the structure.  By default pointer to the first field has the same
1055 bounds as pointer to the whole structure.
1057 fchkp-narrow-bounds
1058 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_narrow_bounds) Init(1)
1059 Control how Pointer Bounds Checker handle pointers to object fields.  When
1060 narrowing is on, field bounds are used.  Otherwise full object bounds are used.
1062 fchkp-narrow-to-innermost-array
1063 C ObjC C++ ObjC++ LTO RejectNegative Report Var(flag_chkp_narrow_to_innermost_arrray)
1064 Forces Pointer Bounds Checker to use bounds of the innermost arrays in case of
1065 nested static arryas access.  By default outermost array is used.
1067 fchkp-optimize
1068 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_optimize) Init(-1)
1069 Allow Pointer Bounds Checker optimizations.  By default allowed
1070 on optimization levels >0.
1072 fchkp-use-fast-string-functions
1073 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_fast_string_functions) Init(0)
1074 Allow to use *_nobnd versions of string functions by Pointer Bounds Checker.
1076 fchkp-use-nochk-string-functions
1077 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_nochk_string_functions) Init(0)
1078 Allow to use *_nochk versions of string functions by Pointer Bounds Checker.
1080 fchkp-use-static-bounds
1081 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_static_bounds) Init(1)
1082 Use statically initialized variable for vars bounds instead of
1083 generating them each time it is required.
1085 fchkp-use-static-const-bounds
1086 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_static_const_bounds) Init(-1)
1087 Use statically initialized variable for constant bounds instead of
1088 generating them each time it is required.
1090 fchkp-treat-zero-dynamic-size-as-infinite
1091 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_zero_dynamic_size_as_infinite) Init(0)
1092 With this option zero size obtained dynamically for objects with
1093 incomplete type will be treated as infinite.
1095 fchkp-check-read
1096 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_check_read) Init(1)
1097 Generate checks for all read accesses to memory.
1099 fchkp-check-write
1100 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_check_write) Init(1)
1101 Generate checks for all write accesses to memory.
1103 fchkp-store-bounds
1104 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_store_bounds) Init(1)
1105 Generate bounds stores for pointer writes.
1107 fchkp-instrument-calls
1108 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_instrument_calls) Init(1)
1109 Generate bounds passing for calls.
1111 fchkp-instrument-marked-only
1112 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_instrument_marked_only) Init(0)
1113 Instrument only functions marked with bnd_instrument attribute.
1115 fchkp-use-wrappers
1116 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_wrappers) Init(1)
1117 Transform instrumented builtin calls into calls to wrappers.
1119 static-libmpx
1120 Driver
1122 static-libmpxwrappers
1123 Driver
1125 fcilkplus
1126 C ObjC C++ ObjC++ LTO Report Var(flag_cilkplus) Init(0)
1127 Enable Cilk Plus.
1129 fconcepts
1130 C++ ObjC++ Var(flag_concepts)
1131 Enable support for C++ concepts.
1133 fcond-mismatch
1134 C ObjC C++ ObjC++
1135 Allow the arguments of the '?' operator to have different types.
1137 fconserve-space
1138 C++ ObjC++ Var(flag_conserve_space)
1139 Does nothing.  Preserved for backward compatibility.
1141 fconstant-string-class=
1142 ObjC ObjC++ Joined MissingArgError(no class name specified with %qs)
1143 -fconst-string-class=<name>     Use class <name> for constant strings.
1145 fconstexpr-depth=
1146 C++ ObjC++ Joined RejectNegative UInteger Var(max_constexpr_depth) Init(512)
1147 -fconstexpr-depth=<number>      Specify maximum constexpr recursion depth.
1149 fdebug-cpp
1150 C ObjC C++ ObjC++
1151 Emit debug annotations during preprocessing.
1153 fdeduce-init-list
1154 C++ ObjC++ Var(flag_deduce_init_list) Init(0)
1155 -fdeduce-init-list      enable deduction of std::initializer_list for a template type parameter from a brace-enclosed initializer-list.
1157 fdeclone-ctor-dtor
1158 C++ ObjC++ Var(flag_declone_ctor_dtor) Init(-1)
1159 Factor complex constructors and destructors to favor space over speed.
1161 fdefault-inline
1162 C++ ObjC++ Ignore
1163 Does nothing.  Preserved for backward compatibility.
1165 fdirectives-only
1166 C ObjC C++ ObjC++
1167 Preprocess directives only.
1169 fdollars-in-identifiers
1170 C ObjC C++ ObjC++
1171 Permit '$' as an identifier character.
1173 fdump-ada-spec
1174 C ObjC C++ ObjC++ RejectNegative Var(flag_dump_ada_spec)
1175 Write all declarations as Ada code transitively.
1177 fdump-ada-spec-slim
1178 C ObjC C++ ObjC++ RejectNegative Var(flag_dump_ada_spec_slim)
1179 Write all declarations as Ada code for the given file only.
1181 felide-constructors
1182 C++ ObjC++ Var(flag_elide_constructors) Init(1)
1184 fenforce-eh-specs
1185 C++ ObjC++ Var(flag_enforce_eh_specs) Init(1)
1186 Generate code to check exception specifications.
1188 fenum-int-equiv
1189 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1191 fexec-charset=
1192 C ObjC C++ ObjC++ Joined RejectNegative
1193 -fexec-charset=<cset>   Convert all strings and character constants to character set <cset>.
1195 fextended-identifiers
1196 C ObjC C++ ObjC++
1197 Permit universal character names (\\u and \\U) in identifiers.
1199 finput-charset=
1200 C ObjC C++ ObjC++ Joined RejectNegative
1201 -finput-charset=<cset>  Specify the default character set for source files.
1203 fextern-tls-init
1204 C++ ObjC++ Var(flag_extern_tls_init) Init(-1)
1205 Support dynamic initialization of thread-local variables in a different translation unit.
1207 fexternal-templates
1208 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1210 ffor-scope
1211 C++ ObjC++ Var(flag_new_for_scope) Init(1)
1212 Scope of for-init-statement variables is local to the loop.
1214 ffreestanding
1215 C ObjC C++ ObjC++
1216 Do not assume that standard C libraries and \"main\" exist.
1218 fgnu-keywords
1219 C++ ObjC++ Var(flag_no_gnu_keywords, 0)
1220 Recognize GNU-defined keywords.
1222 fgnu-runtime
1223 ObjC ObjC++ LTO Report RejectNegative Var(flag_next_runtime,0) Init(NEXT_OBJC_RUNTIME)
1224 Generate code for GNU runtime environment.
1226 fgnu89-inline
1227 C ObjC Var(flag_gnu89_inline) Init(-1)
1228 Use traditional GNU semantics for inline functions.
1230 fguiding-decls
1231 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1233 fhandle-exceptions
1234 C++ ObjC++ Optimization Alias(fexceptions) Warn({-fhandle-exceptions has been renamed -fexceptions (and is now on by default)})
1236 fhonor-std
1237 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1239 fhosted
1240 C ObjC
1241 Assume normal C execution environment.
1243 fhuge-objects
1244 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1245 No longer supported.
1247 fimplement-inlines
1248 C++ ObjC++ Var(flag_implement_inlines) Init(1)
1249 Export functions even if they can be inlined.
1251 fimplicit-inline-templates
1252 C++ ObjC++ Var(flag_implicit_inline_templates) Init(1)
1253 Emit implicit instantiations of inline templates.
1255 fimplicit-templates
1256 C++ ObjC++ Var(flag_implicit_templates) Init(1)
1257 Emit implicit instantiations of templates.
1259 ffriend-injection
1260 C++ ObjC++ Var(flag_friend_injection)
1261 Inject friend functions into enclosing namespace.
1263 fkeep-inline-dllexport
1264 C C++ ObjC ObjC++ Var(flag_keep_inline_dllexport) Init(1) Report Condition(TARGET_DLLIMPORT_DECL_ATTRIBUTES)
1265 Don't emit dllexported inline functions unless needed.
1267 flabels-ok
1268 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1270 flax-vector-conversions
1271 C ObjC C++ ObjC++ Var(flag_lax_vector_conversions)
1272 Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types.
1274 fms-extensions
1275 C ObjC C++ ObjC++ Var(flag_ms_extensions)
1276 Don't warn about uses of Microsoft extensions.
1278 fmudflap
1279 C ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1281 fmudflapth
1282 C ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1284 fmudflapir
1285 C ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1287 fname-mangling-version-
1288 C++ ObjC++ Joined Ignore Warn(switch %qs is no longer supported)
1290 fnew-abi
1291 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1293 fnext-runtime
1294 ObjC ObjC++ LTO Report RejectNegative Var(flag_next_runtime)
1295 Generate code for NeXT (Apple Mac OS X) runtime environment.
1297 fnil-receivers
1298 ObjC ObjC++ Var(flag_nil_receivers) Init(1)
1299 Assume that receivers of Objective-C messages may be nil.
1301 flocal-ivars
1302 ObjC ObjC++ Var(flag_local_ivars) Init(1)
1303 Allow access to instance variables as if they were local declarations within instance method implementations.
1305 fivar-visibility=
1306 ObjC ObjC++ Joined RejectNegative Enum(ivar_visibility) Var(default_ivar_visibility) Init(IVAR_VISIBILITY_PROTECTED)
1307 -fvisibility=[private|protected|public|package] Set the default symbol visibility.
1309 Enum
1310 Name(ivar_visibility) Type(enum ivar_visibility) UnknownError(unrecognized ivar visibility value %qs)
1312 EnumValue
1313 Enum(ivar_visibility) String(private) Value(IVAR_VISIBILITY_PRIVATE)
1315 EnumValue
1316 Enum(ivar_visibility) String(protected) Value(IVAR_VISIBILITY_PROTECTED)
1318 EnumValue
1319 Enum(ivar_visibility) String(public) Value(IVAR_VISIBILITY_PUBLIC)
1321 EnumValue
1322 Enum(ivar_visibility) String(package) Value(IVAR_VISIBILITY_PACKAGE)
1324 fnonansi-builtins
1325 C++ ObjC++ Var(flag_no_nonansi_builtin, 0)
1327 fnonnull-objects
1328 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1330 fnothrow-opt
1331 C++ ObjC++ Optimization Var(flag_nothrow_opt)
1332 Treat a throw() exception specification as noexcept to improve code size.
1334 fobjc-abi-version=
1335 ObjC ObjC++ LTO Joined Report RejectNegative UInteger Var(flag_objc_abi)
1336 Specify which ABI to use for Objective-C family code and meta-data generation.
1338 ; Generate special '- .cxx_construct' and '- .cxx_destruct' methods
1339 ; to initialize any non-POD ivars in Objective-C++ classes.
1340 fobjc-call-cxx-cdtors
1341 ObjC++ Var(flag_objc_call_cxx_cdtors)
1342 Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed.
1344 fobjc-direct-dispatch
1345 ObjC ObjC++ Var(flag_objc_direct_dispatch)
1346 Allow fast jumps to the message dispatcher.
1348 ; Nonzero means that we will allow new ObjC exception syntax (@throw,
1349 ; @try, etc.) in source code.
1350 fobjc-exceptions
1351 ObjC ObjC++ Var(flag_objc_exceptions)
1352 Enable Objective-C exception and synchronization syntax.
1354 fobjc-gc
1355 ObjC ObjC++ LTO Var(flag_objc_gc)
1356 Enable garbage collection (GC) in Objective-C/Objective-C++ programs.
1358 fobjc-nilcheck
1359 ObjC ObjC++ Var(flag_objc_nilcheck,1)
1360 Enable inline checks for nil receivers with the NeXT runtime and ABI version 2.
1362 ; Nonzero means that we generate NeXT setjmp based exceptions.
1363 fobjc-sjlj-exceptions
1364 ObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1)
1365 Enable Objective-C setjmp exception handling runtime.
1367 fobjc-std=objc1
1368 ObjC ObjC++ Var(flag_objc1_only)
1369 Conform to the Objective-C 1.0 language as implemented in GCC 4.0.
1371 fopenacc
1372 C ObjC C++ ObjC++ LTO Var(flag_openacc)
1373 Enable OpenACC.
1375 fopenacc-dim=
1376 C ObjC C++ ObjC++ LTO Joined Var(flag_openacc_dims)
1377 Specify default OpenACC compute dimensions.
1379 fopenmp
1380 C ObjC C++ ObjC++ LTO Var(flag_openmp)
1381 Enable OpenMP (implies -frecursive in Fortran).
1383 fopenmp-simd
1384 C ObjC C++ ObjC++ Var(flag_openmp_simd)
1385 Enable OpenMP's SIMD directives.
1387 foperator-names
1388 C++ ObjC++
1389 Recognize C++ keywords like \"compl\" and \"xor\".
1391 foptional-diags
1392 C++ ObjC++ Ignore
1393 Does nothing.  Preserved for backward compatibility.
1395 fpch-deps
1396 C ObjC C++ ObjC++
1398 fpch-preprocess
1399 C ObjC C++ ObjC++
1400 Look for and use PCH files even when preprocessing.
1402 fpermissive
1403 C++ ObjC++ Var(flag_permissive)
1404 Downgrade conformance errors to warnings.
1406 fplan9-extensions
1407 C ObjC Var(flag_plan9_extensions)
1408 Enable Plan 9 language extensions.
1410 fpreprocessed
1411 C ObjC C++ ObjC++
1412 Treat the input file as already preprocessed.
1414 ftrack-macro-expansion
1415 C ObjC C++ ObjC++ JoinedOrMissing RejectNegative UInteger
1416 ; converted into ftrack-macro-expansion=
1418 ftrack-macro-expansion=
1419 C ObjC C++ ObjC++ JoinedOrMissing RejectNegative UInteger
1420 -ftrack-macro-expansion=<0|1|2>  Track locations of tokens coming from macro expansion and display them in error messages.
1422 fpretty-templates
1423 C++ ObjC++ Var(flag_pretty_templates) Init(1)
1424 -fno-pretty-templates Do not pretty-print template specializations as the template signature followed by the arguments.
1426 freplace-objc-classes
1427 ObjC ObjC++ LTO Var(flag_replace_objc_classes)
1428 Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime.
1430 frepo
1431 C++ ObjC++
1432 Enable automatic template instantiation.
1434 frtti
1435 C++ ObjC++ Optimization Var(flag_rtti) Init(1)
1436 Generate run time type descriptor information.
1438 fshort-double
1439 C ObjC C++ ObjC++ LTO Optimization Var(flag_short_double)
1440 Use the same size for double as for float.
1442 fshort-enums
1443 C ObjC C++ ObjC++ LTO Optimization Var(flag_short_enums)
1444 Use the narrowest integer type possible for enumeration types.
1446 fshort-wchar
1447 C ObjC C++ ObjC++ LTO Optimization Var(flag_short_wchar)
1448 Force the underlying type for \"wchar_t\" to be \"unsigned short\".
1450 fsigned-bitfields
1451 C ObjC C++ ObjC++ Var(flag_signed_bitfields) Init(1)
1452 When \"signed\" or \"unsigned\" is not given make the bitfield signed.
1454 fsigned-char
1455 C ObjC C++ ObjC++ LTO Var(flag_signed_char)
1456 Make \"char\" signed by default.
1458 fsized-deallocation
1459 C++ ObjC++ Var(flag_sized_deallocation) Init(-1)
1460 Enable C++14 sized deallocation support.
1462 fsquangle
1463 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1465 fsso-struct=
1466 C ObjC Joined Enum(sso_struct) Var(default_sso) Init(SSO_NATIVE)
1467 -fsso-struct=[big-endian|little-endian] Set the default scalar storage order.
1469 Enum
1470 Name(sso_struct) Type(enum scalar_storage_order_kind) UnknownError(unrecognized scalar storage order value %qs)
1472 EnumValue
1473 Enum(sso_struct) String(big-endian) Value(SSO_BIG_ENDIAN)
1475 EnumValue
1476 Enum(sso_struct) String(little-endian) Value(SSO_LITTLE_ENDIAN)
1478 fstats
1479 C++ ObjC++ Var(flag_detailed_statistics)
1480 Display statistics accumulated during compilation.
1482 fstrict-enums
1483 C++ ObjC++ Optimization Var(flag_strict_enums)
1484 Assume that values of enumeration type are always within the minimum range of that type.
1486 fstrict-prototype
1487 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1489 ftabstop=
1490 C ObjC C++ ObjC++ Joined RejectNegative UInteger
1491 -ftabstop=<number>      Distance between tab stops for column reporting.
1493 ftemplate-backtrace-limit=
1494 C++ ObjC++ Joined RejectNegative UInteger Var(template_backtrace_limit) Init(10)
1495 Set the maximum number of template instantiation notes for a single warning or error.
1497 ftemplate-depth-
1498 C++ ObjC++ Joined RejectNegative Undocumented Alias(ftemplate-depth=)
1500 ftemplate-depth=
1501 C++ ObjC++ Joined RejectNegative UInteger
1502 -ftemplate-depth=<number>       Specify maximum template instantiation depth.
1504 fthis-is-variable
1505 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1507 fthreadsafe-statics
1508 C++ ObjC++ Optimization Var(flag_threadsafe_statics) Init(1)
1509 -fno-threadsafe-statics Do not generate thread-safe code for initializing local statics.
1511 funsigned-bitfields
1512 C ObjC C++ ObjC++ Var(flag_signed_bitfields, 0)
1513 When \"signed\" or \"unsigned\" is not given make the bitfield unsigned.
1515 funsigned-char
1516 C ObjC C++ ObjC++ LTO Var(flag_signed_char, 0)
1517 Make \"char\" unsigned by default.
1519 fuse-cxa-atexit
1520 C++ ObjC++ Var(flag_use_cxa_atexit) Init(DEFAULT_USE_CXA_ATEXIT)
1521 Use __cxa_atexit to register destructors.
1523 fuse-cxa-get-exception-ptr
1524 C++ ObjC++ Var(flag_use_cxa_get_exception_ptr) Init(2)
1525 Use __cxa_get_exception_ptr in exception handling.
1527 fvisibility-inlines-hidden
1528 C++ ObjC++
1529 Marks all inlined functions and methods as having hidden visibility.
1531 fvisibility-ms-compat
1532 C++ ObjC++ Var(flag_visibility_ms_compat)
1533 Changes visibility to match Microsoft Visual Studio by default.
1535 fvtable-gc
1536 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1537 No longer supported.
1539 fvtable-thunks
1540 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1541 No longer supported.
1543 fweak
1544 C++ ObjC++ Var(flag_weak) Init(1)
1545 Emit common-like symbols as weak symbols.
1547 fwide-exec-charset=
1548 C ObjC C++ ObjC++ Joined RejectNegative
1549 -fwide-exec-charset=<cset>      Convert all wide strings and character constants to character set <cset>.
1551 fworking-directory
1552 C ObjC C++ ObjC++ Var(flag_working_directory) Init(-1)
1553 Generate a #line directive pointing at the current working directory.
1555 fxref
1556 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1557 No longer supported.
1559 fzero-link
1560 ObjC ObjC++ Var(flag_zero_link)
1561 Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode.
1563 gen-decls
1564 ObjC ObjC++ Var(flag_gen_declaration)
1565 Dump declarations to a .decl file.
1567 femit-struct-debug-baseonly
1568 C ObjC C++ ObjC++
1569 -femit-struct-debug-baseonly    Aggressive reduced debug info for structs.
1571 femit-struct-debug-reduced
1572 C ObjC C++ ObjC++
1573 -femit-struct-debug-reduced     Conservative reduced debug info for structs.
1575 femit-struct-debug-detailed=
1576 C ObjC C++ ObjC++ Joined
1577 -femit-struct-debug-detailed=<spec-list>        Detailed reduced debug info for structs.
1579 fext-numeric-literals
1580 C++ ObjC++
1581 Interpret imaginary, fixed-point, or other gnu number suffix as the corresponding
1582 number literal rather than a user-defined number literal.
1584 idirafter
1585 C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
1586 -idirafter <dir>        Add <dir> to the end of the system include path.
1588 imacros
1589 C ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs)
1590 -imacros <file> Accept definition of macros in <file>.
1592 imultilib
1593 C ObjC C++ ObjC++ Joined Separate
1594 -imultilib <dir>        Set <dir> to be the multilib include subdirectory.
1596 include
1597 C ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs)
1598 -include <file> Include the contents of <file> before other files.
1600 iprefix
1601 C ObjC C++ ObjC++ Joined Separate
1602 -iprefix <path> Specify <path> as a prefix for next two options.
1604 isysroot
1605 C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
1606 -isysroot <dir> Set <dir> to be the system root directory.
1608 isystem
1609 C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
1610 -isystem <dir>  Add <dir> to the start of the system include path.
1612 iquote
1613 C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
1614 -iquote <dir>   Add <dir> to the end of the quote include path.
1616 iwithprefix
1617 C ObjC C++ ObjC++ Joined Separate
1618 -iwithprefix <dir>      Add <dir> to the end of the system include path.
1620 iwithprefixbefore
1621 C ObjC C++ ObjC++ Joined Separate
1622 -iwithprefixbefore <dir>        Add <dir> to the end of the main include path.
1624 lang-asm
1625 C Undocumented RejectDriver
1627 no-integrated-cpp
1628 Driver
1630 nostdinc
1631 C ObjC C++ ObjC++
1632 Do not search standard system include directories (those specified with -isystem will still be used).
1634 nostdinc++
1635 C++ ObjC++
1636 Do not search standard system include directories for C++.
1639 C ObjC C++ ObjC++ Joined Separate
1640 ; Documented in common.opt
1642 pedantic
1643 C ObjC C++ ObjC++ Alias(Wpedantic)
1644 ; Documented in common.opt
1646 print-objc-runtime-info
1647 ObjC ObjC++
1648 Generate C header of platform-specific features.
1650 remap
1651 C ObjC C++ ObjC++
1652 Remap file names when including files.
1654 std=c++98
1655 C++ ObjC++
1656 Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum.
1658 std=c++03
1659 C++ ObjC++ Alias(std=c++98)
1660 Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum.
1662 std=c++11
1663 C++ ObjC++
1664 Conform to the ISO 2011 C++ standard.
1666 std=c++0x
1667 C++ ObjC++ Alias(std=c++11) Undocumented
1668 Deprecated in favor of -std=c++11.
1670 std=c++1y
1671 C++ ObjC++ Alias(std=c++14) Undocumented
1672 Deprecated in favor of -std=c++14.
1674 std=c++14
1675 C++ ObjC++
1676 Conform to the ISO 2014 C++ standard.
1678 std=c++1z
1679 C++ ObjC++
1680 Conform to the ISO 2017(?) C++ draft standard (experimental and incomplete support).
1682 std=c++17
1683 C++ ObjC++ Alias(std=c++1z) Undocumented
1685 std=c11
1686 C ObjC
1687 Conform to the ISO 2011 C standard.
1689 std=c1x
1690 C ObjC Alias(std=c11)
1691 Deprecated in favor of -std=c11.
1693 std=c89
1694 C ObjC Alias(std=c90)
1695 Conform to the ISO 1990 C standard.
1697 std=c90
1698 C ObjC
1699 Conform to the ISO 1990 C standard.
1701 std=c99
1702 C ObjC
1703 Conform to the ISO 1999 C standard.
1705 std=c9x
1706 C ObjC Alias(std=c99)
1707 Deprecated in favor of -std=c99.
1709 std=gnu++98
1710 C++ ObjC++
1711 Conform to the ISO 1998 C++ standard revised by the 2003 technical
1712 corrigendum with GNU extensions.
1714 std=gnu++03
1715 C++ ObjC++ Alias(std=gnu++98)
1716 Conform to the ISO 1998 C++ standard revised by the 2003 technical
1717 corrigendum with GNU extensions.
1719 std=gnu++11
1720 C++ ObjC++
1721 Conform to the ISO 2011 C++ standard with GNU extensions.
1723 std=gnu++0x
1724 C++ ObjC++ Alias(std=gnu++11) Undocumented
1725 Deprecated in favor of -std=gnu++11.
1727 std=gnu++1y
1728 C++ ObjC++ Alias(std=gnu++14) Undocumented
1729 Deprecated in favor of -std=gnu++14.
1731 std=gnu++14
1732 C++ ObjC++
1733 Conform to the ISO 2014 C++ standard with GNU extensions.
1735 std=gnu++1z
1736 C++ ObjC++
1737 Conform to the ISO 201z(7?) C++ draft standard with GNU extensions (experimental and incomplete support).
1739 std=gnu++17
1740 C++ ObjC++ Alias(std=gnu++1z) Undocumented
1742 std=gnu11
1743 C ObjC
1744 Conform to the ISO 2011 C standard with GNU extensions.
1746 std=gnu1x
1747 C ObjC Alias(std=gnu11)
1748 Deprecated in favor of -std=gnu11.
1750 std=gnu89
1751 C ObjC Alias(std=gnu90)
1752 Conform to the ISO 1990 C standard with GNU extensions.
1754 std=gnu90
1755 C ObjC
1756 Conform to the ISO 1990 C standard with GNU extensions.
1758 std=gnu99
1759 C ObjC
1760 Conform to the ISO 1999 C standard with GNU extensions.
1762 std=gnu9x
1763 C ObjC Alias(std=gnu99)
1764 Deprecated in favor of -std=gnu99.
1766 std=iso9899:1990
1767 C ObjC Alias(std=c90)
1768 Conform to the ISO 1990 C standard.
1770 std=iso9899:199409
1771 C ObjC
1772 Conform to the ISO 1990 C standard as amended in 1994.
1774 std=iso9899:1999
1775 C ObjC Alias(std=c99)
1776 Conform to the ISO 1999 C standard.
1778 std=iso9899:199x
1779 C ObjC Alias(std=c99)
1780 Deprecated in favor of -std=iso9899:1999.
1782 std=iso9899:2011
1783 C ObjC Alias(std=c11)
1784 Conform to the ISO 2011 C standard.
1786 traditional
1787 Driver
1789 traditional-cpp
1790 C ObjC C++ ObjC++
1791 Enable traditional preprocessing.
1793 trigraphs
1794 C ObjC C++ ObjC++
1795 -trigraphs      Support ISO C trigraphs.
1797 undef
1798 C ObjC C++ ObjC++ Var(flag_undef)
1799 Do not predefine system-specific and GCC-specific macros.
1802 C ObjC C++ ObjC++
1803 ; Documented in common.opt
1806 C ObjC C++ ObjC++
1807 ; Documented in common.opt
1809 ; This comment is to ensure we retain the blank line above.