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