c.opt revision 1.1.1.1
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
804; This should really just be C++/ObjC++ but we (NetBSD) use it when
805; calling C and ObjC compilers as well.
806cxx-isystem
807C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
808-cxx-isystem <dir>	Add <dir> to the start of the C++ system include path
809
810d
811C ObjC C++ ObjC++ Joined
812; Documented in common.opt.  FIXME - what about -dI, -dD, -dN and -dD?
813
814faccess-control
815C++ ObjC++ Var(flag_access_control) Init(1)
816Enforce class member access control semantics
817
818fada-spec-parent=
819C ObjC C++ ObjC++ RejectNegative Joined Var(ada_specs_parent)
820-fada-spec-parent=unit  Dump Ada specs as child units of given parent
821
822fall-virtual
823C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
824
825fallow-parameterless-variadic-functions
826C ObjC Var(flag_allow_parameterless_variadic_functions)
827Allow variadic functions without named parameter
828
829falt-external-templates
830C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
831No longer supported
832
833fasm
834C ObjC C++ ObjC++ Var(flag_no_asm, 0)
835Recognize the \"asm\" keyword
836
837; Define extra predefined macros for use in libgcc.
838fbuilding-libgcc
839C ObjC C++ ObjC++ Undocumented Var(flag_building_libgcc)
840
841fbuiltin
842C ObjC C++ ObjC++ Var(flag_no_builtin, 0)
843Recognize built-in functions
844
845fbuiltin-
846C ObjC C++ ObjC++ Joined
847
848fcanonical-system-headers
849C ObjC C++ ObjC++
850Where shorter, use canonicalized paths to systems headers.
851
852fcheck-new
853C++ ObjC++ Var(flag_check_new)
854Check the return value of new
855
856fcond-mismatch
857C ObjC C++ ObjC++
858Allow the arguments of the '?' operator to have different types
859
860fconserve-space
861C++ ObjC++ Var(flag_conserve_space)
862Does nothing.  Preserved for backward compatibility.
863
864fconstant-string-class=
865ObjC ObjC++ Joined MissingArgError(no class name specified with %qs)
866-fconst-string-class=<name>	Use class <name> for constant strings
867
868fconstexpr-depth=
869C++ ObjC++ Joined RejectNegative UInteger Var(max_constexpr_depth) Init(512)
870-fconstexpr-depth=<number>	Specify maximum constexpr recursion depth
871
872fdebug-cpp
873C ObjC C++ ObjC++
874Emit debug annotations during preprocessing
875
876fdeduce-init-list
877C++ ObjC++ Var(flag_deduce_init_list) Init(0)
878-fdeduce-init-list	enable deduction of std::initializer_list for a template type parameter from a brace-enclosed initializer-list
879
880fdefault-inline
881C++ ObjC++ Ignore
882Does nothing.  Preserved for backward compatibility.
883
884fdirectives-only
885C ObjC C++ ObjC++
886Preprocess directives only.
887
888fdollars-in-identifiers
889C ObjC C++ ObjC++
890Permit '$' as an identifier character
891
892fdump-ada-spec
893C ObjC C++ ObjC++ RejectNegative Var(flag_dump_ada_spec)
894Write all declarations as Ada code transitively
895
896fdump-ada-spec-slim
897C ObjC C++ ObjC++ RejectNegative Var(flag_dump_ada_spec_slim)
898Write all declarations as Ada code for the given file only
899
900felide-constructors
901C++ ObjC++ Var(flag_elide_constructors) Init(1)
902
903fenforce-eh-specs
904C++ ObjC++ Var(flag_enforce_eh_specs) Init(1)
905Generate code to check exception specifications
906
907fenum-int-equiv
908C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
909
910fexec-charset=
911C ObjC C++ ObjC++ Joined RejectNegative
912-fexec-charset=<cset>	Convert all strings and character constants to character set <cset>
913
914fextended-identifiers
915C ObjC C++ ObjC++
916Permit universal character names (\\u and \\U) in identifiers
917
918finput-charset=
919C ObjC C++ ObjC++ Joined RejectNegative
920-finput-charset=<cset>	Specify the default character set for source files
921
922fextern-tls-init
923C++ ObjC++ Var(flag_extern_tls_init) Init(-1)
924Support dynamic initialization of thread-local variables in a different translation unit
925
926fexternal-templates
927C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
928
929ffor-scope
930C++ ObjC++ Var(flag_new_for_scope) Init(1)
931Scope of for-init-statement variables is local to the loop
932
933ffreestanding
934C ObjC C++ ObjC++
935Do not assume that standard C libraries and \"main\" exist
936
937fgnu-keywords
938C++ ObjC++ Var(flag_no_gnu_keywords, 0)
939Recognize GNU-defined keywords
940
941fgnu-runtime
942ObjC ObjC++ LTO Report RejectNegative Var(flag_next_runtime,0) Init(NEXT_OBJC_RUNTIME)
943Generate code for GNU runtime environment
944
945fgnu89-inline
946C ObjC Var(flag_gnu89_inline) Init(-1)
947Use traditional GNU semantics for inline functions
948
949fguiding-decls
950C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
951
952fhandle-exceptions
953C++ ObjC++ Optimization Alias(fexceptions) Warn({-fhandle-exceptions has been renamed -fexceptions (and is now on by default)})
954
955fhonor-std
956C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
957
958fhosted
959C ObjC
960Assume normal C execution environment
961
962fhuge-objects
963C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
964No longer supported
965
966fimplement-inlines
967C++ ObjC++ Var(flag_implement_inlines) Init(1)
968Export functions even if they can be inlined
969
970fimplicit-inline-templates
971C++ ObjC++ Var(flag_implicit_inline_templates) Init(1)
972Emit implicit instantiations of inline templates
973
974fimplicit-templates
975C++ ObjC++ Var(flag_implicit_templates) Init(1)
976Emit implicit instantiations of templates
977
978ffriend-injection
979C++ ObjC++ Var(flag_friend_injection)
980Inject friend functions into enclosing namespace
981
982fkeep-inline-dllexport
983C C++ ObjC ObjC++ Var(flag_keep_inline_dllexport) Init(1) Report Condition(TARGET_DLLIMPORT_DECL_ATTRIBUTES)
984Don't emit dllexported inline functions unless needed
985
986flabels-ok
987C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
988
989flax-vector-conversions
990C ObjC C++ ObjC++ Var(flag_lax_vector_conversions)
991Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types.
992
993fms-extensions
994C ObjC C++ ObjC++ Var(flag_ms_extensions)
995Don't warn about uses of Microsoft extensions
996
997fmudflap
998C ObjC C++ ObjC++ RejectNegative Report Var(flag_mudflap)
999Add mudflap bounds-checking instrumentation for single-threaded program
1000
1001fmudflapth
1002C ObjC C++ ObjC++ RejectNegative Report Var(flag_mudflap,2)
1003Add mudflap bounds-checking instrumentation for multi-threaded program
1004
1005fmudflapir
1006C ObjC C++ ObjC++ RejectNegative Report Var(flag_mudflap_ignore_reads)
1007Ignore read operations when inserting mudflap instrumentation
1008
1009fname-mangling-version-
1010C++ ObjC++ Joined Ignore Warn(switch %qs is no longer supported)
1011
1012fnew-abi
1013C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1014
1015fnext-runtime
1016ObjC ObjC++ LTO Report RejectNegative Var(flag_next_runtime)
1017Generate code for NeXT (Apple Mac OS X) runtime environment
1018
1019fnil-receivers
1020ObjC ObjC++ Var(flag_nil_receivers) Init(1)
1021Assume that receivers of Objective-C messages may be nil
1022
1023fnonansi-builtins
1024C++ ObjC++ Var(flag_no_nonansi_builtin, 0)
1025
1026fnonnull-objects
1027C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1028
1029fnothrow-opt
1030C++ ObjC++ Optimization Var(flag_nothrow_opt)
1031Treat a throw() exception specification as noexcept to improve code size
1032
1033fobjc-abi-version=
1034ObjC ObjC++ LTO Joined Report RejectNegative UInteger Var(flag_objc_abi)
1035Specify which ABI to use for Objective-C family code and meta-data generation.
1036
1037; Generate special '- .cxx_construct' and '- .cxx_destruct' methods
1038; to initialize any non-POD ivars in Objective-C++ classes.
1039fobjc-call-cxx-cdtors
1040ObjC++ Var(flag_objc_call_cxx_cdtors)
1041Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed
1042
1043fobjc-direct-dispatch
1044ObjC ObjC++ Var(flag_objc_direct_dispatch)
1045Allow fast jumps to the message dispatcher
1046
1047; Nonzero means that we will allow new ObjC exception syntax (@throw,
1048; @try, etc.) in source code.
1049fobjc-exceptions
1050ObjC ObjC++ Var(flag_objc_exceptions)
1051Enable Objective-C exception and synchronization syntax
1052
1053fobjc-gc
1054ObjC ObjC++ LTO Var(flag_objc_gc)
1055Enable garbage collection (GC) in Objective-C/Objective-C++ programs
1056
1057fobjc-nilcheck
1058ObjC ObjC++ Var(flag_objc_nilcheck,1)
1059Enable inline checks for nil receivers with the NeXT runtime and ABI version 2.
1060
1061; Nonzero means that we generate NeXT setjmp based exceptions.
1062fobjc-sjlj-exceptions
1063ObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1)
1064Enable Objective-C setjmp exception handling runtime
1065
1066fobjc-std=objc1
1067ObjC ObjC++ Var(flag_objc1_only)
1068Conform to the Objective-C 1.0 language as implemented in GCC 4.0
1069
1070fopenmp
1071C ObjC C++ ObjC++ Var(flag_openmp)
1072Enable OpenMP (implies -frecursive in Fortran)
1073
1074foperator-names
1075C++ ObjC++
1076Recognize C++ keywords like \"compl\" and \"xor\"
1077
1078foptional-diags
1079C++ ObjC++ Ignore
1080Does nothing.  Preserved for backward compatibility.
1081
1082fpch-deps
1083C ObjC C++ ObjC++
1084
1085fpch-preprocess
1086C ObjC C++ ObjC++
1087Look for and use PCH files even when preprocessing
1088
1089fpermissive
1090C++ ObjC++ Var(flag_permissive)
1091Downgrade conformance errors to warnings
1092
1093fplan9-extensions
1094C ObjC Var(flag_plan9_extensions)
1095Enable Plan 9 language extensions
1096
1097fpreprocessed
1098C ObjC C++ ObjC++
1099Treat the input file as already preprocessed
1100
1101ftrack-macro-expansion
1102C ObjC C++ ObjC++ JoinedOrMissing RejectNegative UInteger
1103; converted into ftrack-macro-expansion=
1104
1105ftrack-macro-expansion=
1106C ObjC C++ ObjC++ JoinedOrMissing RejectNegative UInteger
1107-ftrack-macro-expansion=<0|1|2>  Track locations of tokens coming from macro expansion and display them in error messages
1108
1109fpretty-templates
1110C++ ObjC++ Var(flag_pretty_templates) Init(1)
1111-fno-pretty-templates Do not pretty-print template specializations as the template signature followed by the arguments
1112
1113freplace-objc-classes
1114ObjC ObjC++ LTO Var(flag_replace_objc_classes)
1115Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime
1116
1117frepo
1118C++ ObjC++
1119Enable automatic template instantiation
1120
1121frtti
1122C++ ObjC++ Optimization Var(flag_rtti) Init(1)
1123Generate run time type descriptor information
1124
1125fshort-double
1126C ObjC C++ ObjC++ Optimization Var(flag_short_double)
1127Use the same size for double as for float
1128
1129fshort-enums
1130C ObjC C++ ObjC++ Optimization Var(flag_short_enums)
1131Use the narrowest integer type possible for enumeration types
1132
1133fshort-wchar
1134C ObjC C++ ObjC++ Optimization Var(flag_short_wchar)
1135Force the underlying type for \"wchar_t\" to be \"unsigned short\"
1136
1137fsigned-bitfields
1138C ObjC C++ ObjC++ Var(flag_signed_bitfields) Init(1)
1139When \"signed\" or \"unsigned\" is not given make the bitfield signed
1140
1141fsigned-char
1142C ObjC C++ ObjC++ LTO Var(flag_signed_char)
1143Make \"char\" signed by default
1144
1145fsquangle
1146C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1147
1148fstats
1149C++ ObjC++ Var(flag_detailed_statistics)
1150Display statistics accumulated during compilation
1151
1152fstrict-enums
1153C++ ObjC++ Optimization Var(flag_strict_enums)
1154Assume that values of enumeration type are always within the minimum range of that type
1155
1156fstrict-prototype
1157C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1158
1159ftabstop=
1160C ObjC C++ ObjC++ Joined RejectNegative UInteger
1161-ftabstop=<number>	Distance between tab stops for column reporting
1162
1163ftemplate-backtrace-limit=
1164C++ ObjC++ Joined RejectNegative UInteger Var(template_backtrace_limit) Init(10)
1165Set the maximum number of template instantiation notes for a single warning or error
1166
1167ftemplate-depth-
1168C++ ObjC++ Joined RejectNegative Undocumented Alias(ftemplate-depth=)
1169
1170ftemplate-depth=
1171C++ ObjC++ Joined RejectNegative UInteger
1172-ftemplate-depth=<number>	Specify maximum template instantiation depth
1173
1174fthis-is-variable
1175C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1176
1177fthreadsafe-statics
1178C++ ObjC++ Optimization Var(flag_threadsafe_statics) Init(1)
1179-fno-threadsafe-statics	Do not generate thread-safe code for initializing local statics
1180
1181funsigned-bitfields
1182C ObjC C++ ObjC++ Var(flag_signed_bitfields, 0)
1183When \"signed\" or \"unsigned\" is not given make the bitfield unsigned
1184
1185funsigned-char
1186C ObjC C++ ObjC++ LTO Var(flag_signed_char, 0)
1187Make \"char\" unsigned by default
1188
1189fuse-cxa-atexit
1190C++ ObjC++ Var(flag_use_cxa_atexit) Init(DEFAULT_USE_CXA_ATEXIT)
1191Use __cxa_atexit to register destructors
1192
1193fuse-cxa-get-exception-ptr
1194C++ ObjC++ Var(flag_use_cxa_get_exception_ptr) Init(2)
1195Use __cxa_get_exception_ptr in exception handling
1196
1197fvisibility-inlines-hidden
1198C++ ObjC++
1199Marks all inlined functions and methods as having hidden visibility
1200
1201fvisibility-ms-compat
1202C++ ObjC++ Var(flag_visibility_ms_compat)
1203Changes visibility to match Microsoft Visual Studio by default
1204
1205fvtable-gc
1206C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1207No longer supported
1208
1209fvtable-thunks
1210C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1211No longer supported
1212
1213fweak
1214C++ ObjC++ Var(flag_weak) Init(1)
1215Emit common-like symbols as weak symbols
1216
1217fwide-exec-charset=
1218C ObjC C++ ObjC++ Joined RejectNegative
1219-fwide-exec-charset=<cset>	Convert all wide strings and character constants to character set <cset>
1220
1221fworking-directory
1222C ObjC C++ ObjC++ Var(flag_working_directory) Init(-1)
1223Generate a #line directive pointing at the current working directory
1224
1225fxref
1226C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1227No longer supported
1228
1229fzero-link
1230ObjC ObjC++ Var(flag_zero_link)
1231Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode
1232
1233gen-decls
1234ObjC ObjC++ Var(flag_gen_declaration)
1235Dump declarations to a .decl file
1236
1237femit-struct-debug-baseonly
1238C ObjC C++ ObjC++
1239-femit-struct-debug-baseonly	Aggressive reduced debug info for structs
1240
1241femit-struct-debug-reduced
1242C ObjC C++ ObjC++
1243-femit-struct-debug-reduced	Conservative reduced debug info for structs
1244
1245femit-struct-debug-detailed=
1246C ObjC C++ ObjC++ Joined
1247-femit-struct-debug-detailed=<spec-list>	Detailed reduced debug info for structs
1248
1249fext-numeric-literals
1250C++ ObjC++ 
1251Interpret imaginary, fixed-point, or other gnu number suffix as the corresponding
1252number literal rather than a user-defined number literal.
1253
1254idirafter
1255C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
1256-idirafter <dir>	Add <dir> to the end of the system include path
1257
1258imacros
1259C ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs)
1260-imacros <file>	Accept definition of macros in <file>
1261
1262imultilib
1263C ObjC C++ ObjC++ Joined Separate
1264-imultilib <dir>	Set <dir> to be the multilib include subdirectory
1265
1266include
1267C ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs)
1268-include <file>	Include the contents of <file> before other files
1269
1270iprefix
1271C ObjC C++ ObjC++ Joined Separate
1272-iprefix <path>	Specify <path> as a prefix for next two options
1273
1274isysroot
1275C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
1276-isysroot <dir>	Set <dir> to be the system root directory
1277
1278isystem
1279C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
1280-isystem <dir>	Add <dir> to the start of the system include path
1281
1282iquote
1283C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
1284-iquote <dir>	Add <dir> to the end of the quote include path
1285
1286iremap
1287C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
1288-iremap <src:dst>	Convert <src> to <dst> if it occurs as prefix in __FILE__.
1289
1290iwithprefix
1291C ObjC C++ ObjC++ Joined Separate
1292-iwithprefix <dir>	Add <dir> to the end of the system include path
1293
1294iwithprefixbefore
1295C ObjC C++ ObjC++ Joined Separate
1296-iwithprefixbefore <dir>	Add <dir> to the end of the main include path
1297
1298lang-asm
1299C Undocumented RejectDriver
1300
1301no-integrated-cpp
1302Driver
1303
1304nostdinc
1305C ObjC C++ ObjC++
1306Do not search standard system include directories (those specified with -isystem will still be used)
1307
1308nostdinc++
1309C++ ObjC++
1310Do not search standard system include directories for C++
1311
1312o
1313C ObjC C++ ObjC++ Joined Separate
1314; Documented in common.opt
1315
1316pedantic
1317C ObjC C++ ObjC++ Alias(Wpedantic)
1318; Documented in common.opt
1319
1320print-objc-runtime-info
1321ObjC ObjC++
1322Generate C header of platform-specific features
1323
1324remap
1325C ObjC C++ ObjC++
1326Remap file names when including files
1327
1328std=c++98
1329C++ ObjC++
1330Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum
1331
1332std=c++03
1333C++ ObjC++ Alias(std=c++98)
1334Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum
1335
1336std=c++11
1337C++ ObjC++
1338Conform to the ISO 2011 C++ standard (experimental and incomplete support)
1339
1340std=c++0x
1341C++ ObjC++ Alias(std=c++11)
1342Deprecated in favor of -std=c++11
1343
1344std=c++1y
1345C++ ObjC++
1346Conform to the ISO 201y(7?) C++ draft standard (experimental and incomplete support)
1347
1348std=c11
1349C ObjC
1350Conform to the ISO 2011 C standard (experimental and incomplete support)
1351
1352std=c1x
1353C ObjC Alias(std=c11)
1354Deprecated in favor of -std=c11
1355
1356std=c89
1357C ObjC Alias(std=c90)
1358Conform to the ISO 1990 C standard
1359
1360std=c90
1361C ObjC
1362Conform to the ISO 1990 C standard
1363
1364std=c99
1365C ObjC
1366Conform to the ISO 1999 C standard
1367
1368std=c9x
1369C ObjC Alias(std=c99)
1370Deprecated in favor of -std=c99
1371
1372std=gnu++98
1373C++ ObjC++
1374Conform to the ISO 1998 C++ standard revised by the 2003 technical
1375corrigendum with GNU extensions
1376
1377std=gnu++03
1378C++ ObjC++ Alias(std=gnu++98)
1379Conform to the ISO 1998 C++ standard revised by the 2003 technical
1380corrigendum with GNU extensions
1381
1382std=gnu++11
1383C++ ObjC++
1384Conform to the ISO 2011 C++ standard with GNU extensions (experimental and incomplete support)
1385
1386std=gnu++0x
1387C++ ObjC++ Alias(std=gnu++11)
1388Deprecated in favor of -std=gnu++11
1389
1390std=gnu++1y
1391C++ ObjC++
1392Conform to the ISO 201y(7?) C++ draft standard with GNU extensions (experimental and incomplete support)
1393
1394std=gnu11
1395C ObjC
1396Conform to the ISO 2011 C standard with GNU extensions (experimental and incomplete support)
1397
1398std=gnu1x
1399C ObjC Alias(std=gnu11)
1400Deprecated in favor of -std=gnu11
1401
1402std=gnu89
1403C ObjC Alias(std=gnu90)
1404Conform to the ISO 1990 C standard with GNU extensions
1405
1406std=gnu90
1407C ObjC
1408Conform to the ISO 1990 C standard with GNU extensions
1409
1410std=gnu99
1411C ObjC
1412Conform to the ISO 1999 C standard with GNU extensions
1413
1414std=gnu9x
1415C ObjC Alias(std=gnu99)
1416Deprecated in favor of -std=gnu99
1417
1418std=iso9899:1990
1419C ObjC Alias(std=c90)
1420Conform to the ISO 1990 C standard
1421
1422std=iso9899:199409
1423C ObjC
1424Conform to the ISO 1990 C standard as amended in 1994
1425
1426std=iso9899:1999
1427C ObjC Alias(std=c99)
1428Conform to the ISO 1999 C standard
1429
1430std=iso9899:199x
1431C ObjC Alias(std=c99)
1432Deprecated in favor of -std=iso9899:1999
1433
1434std=iso9899:2011
1435C ObjC Alias(std=c11)
1436Conform to the ISO 2011 C standard (experimental and incomplete support)
1437
1438traditional
1439Driver
1440
1441traditional-cpp
1442C ObjC C++ ObjC++
1443Enable traditional preprocessing
1444
1445trigraphs
1446C ObjC C++ ObjC++
1447-trigraphs	Support ISO C trigraphs
1448
1449undef
1450C ObjC C++ ObjC++ Var(flag_undef)
1451Do not predefine system-specific and GCC-specific macros
1452
1453v
1454C ObjC C++ ObjC++
1455; Documented in common.opt
1456
1457w
1458C ObjC C++ ObjC++
1459; Documented in common.opt
1460
1461; This comment is to ensure we retain the blank line above.
1462