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