1; Options for the C, ObjC, C++ and ObjC++ front ends.
2; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
3; Free Software Foundation, Inc.
4;
5; This file is part of GCC.
6;
7; GCC is free software; you can redistribute it and/or modify it under
8; the terms of the GNU General Public License as published by the Free
9; Software Foundation; either version 3, or (at your option) any later
10; version.
11;
12; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13; WARRANTY; without even the implied warranty of MERCHANTABILITY or
14; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15; for more details.
16;
17; You should have received a copy of the GNU General Public License
18; along with GCC; see the file COPYING3.  If not see
19; <http://www.gnu.org/licenses/>.
20
21; See the GCC internals manual for a description of this file's format.
22
23; Please try to keep this file in ASCII collating order.
24
25Language
26C
27
28Language
29ObjC
30
31Language
32C++
33
34Language
35ObjC++
36
37-output-pch=
38C ObjC C++ ObjC++ Joined Separate
39
40A
41C ObjC C++ ObjC++ Joined Separate
42-A<question>=<answer>	Assert the <answer> to <question>.  Putting '-' before <question> disables the <answer> to <question>
43
44C
45C ObjC C++ ObjC++
46Do not discard comments
47
48CC
49C ObjC C++ ObjC++
50Do not discard comments in macro expansions
51
52D
53C ObjC C++ ObjC++ Joined Separate
54-D<macro>[=<val>]	Define a <macro> with <val> as its value.  If just <macro> is given, <val> is taken to be 1
55
56E
57C ObjC C++ ObjC++ Undocumented
58
59F
60C ObjC C++ ObjC++ Joined Separate
61-F <dir>	Add <dir> to the end of the main framework include path
62
63H
64C ObjC C++ ObjC++
65Print the name of header files as they are used
66
67I
68C ObjC C++ ObjC++ Joined Separate
69-I <dir>	Add <dir> to the end of the main include path
70
71M
72C ObjC C++ ObjC++
73Generate make dependencies
74
75MD
76C ObjC C++ ObjC++ Separate
77Generate make dependencies and compile
78
79MF
80C ObjC C++ ObjC++ Joined Separate
81-MF <file>	Write dependency output to the given file
82
83MG
84C ObjC C++ ObjC++
85Treat missing header files as generated files
86
87MM
88C ObjC C++ ObjC++
89Like -M but ignore system header files
90
91MMD
92C ObjC C++ ObjC++ Separate
93Like -MD but ignore system header files
94
95MP
96C ObjC C++ ObjC++
97Generate phony targets for all headers
98
99MQ
100C ObjC C++ ObjC++ Joined Separate
101-MQ <target>	Add a MAKE-quoted target
102
103MT
104C ObjC C++ ObjC++ Joined Separate
105-MT <target>	Add an unquoted target
106
107P
108C ObjC C++ ObjC++
109Do not generate #line directives
110
111U
112C ObjC C++ ObjC++ Joined Separate
113-U<macro>	Undefine <macro>
114
115Wabi
116C ObjC C++ ObjC++ LTO Var(warn_abi) Warning
117Warn about things that will change when compiling with an ABI-compliant compiler
118
119Wpsabi
120C ObjC C++ ObjC++ LTO Var(warn_psabi) Init(1) Undocumented
121
122Waddress
123C ObjC C++ ObjC++ Var(warn_address) Warning
124Warn about suspicious uses of memory addresses
125
126Wall
127C ObjC C++ ObjC++ Warning
128Enable most warning messages
129
130Wassign-intercept
131ObjC ObjC++ Var(warn_assign_intercept) Warning
132Warn whenever an Objective-C assignment is being intercepted by the garbage collector
133
134Wbad-function-cast
135C ObjC Var(warn_bad_function_cast) Warning
136Warn about casting functions to incompatible types
137
138Wbuiltin-macro-redefined
139C ObjC C++ ObjC++ Warning
140Warn when a built-in preprocessor macro is undefined or redefined
141
142Wc++-compat
143C ObjC Var(warn_cxx_compat) Warning
144Warn about C constructs that are not in the common subset of C and C++
145
146Wc++0x-compat
147C++ ObjC++ Var(warn_cxx0x_compat) Warning
148Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x
149
150Wcast-qual
151C ObjC C++ ObjC++ Var(warn_cast_qual) Warning
152Warn about casts which discard qualifiers
153
154Wchar-subscripts
155C ObjC C++ ObjC++ Var(warn_char_subscripts) Warning
156Warn about subscripts whose type is \"char\"
157
158Wclobbered
159C ObjC C++ ObjC++ Var(warn_clobbered) Init(-1) Warning
160Warn about variables that might be changed by \"longjmp\" or \"vfork\"
161
162Wcomment
163C ObjC C++ ObjC++ Warning
164Warn about possibly nested block comments, and C++ comments spanning more than one physical line
165
166Wcomments
167C ObjC C++ ObjC++ Warning
168Synonym for -Wcomment
169
170Wconversion
171C ObjC C++ ObjC++ Var(warn_conversion) Warning
172Warn for implicit type conversions that may change a value
173
174Wconversion-null
175C++ ObjC++ Var(warn_conversion_null) Init(1) Warning
176Warn for converting NULL from/to a non-pointer type
177
178Wsign-conversion
179C ObjC C++ ObjC++ Var(warn_sign_conversion) Init(-1)
180Warn for implicit type conversions between signed and unsigned integers
181
182Wctor-dtor-privacy
183C++ ObjC++ Var(warn_ctor_dtor_privacy) Warning
184Warn when all constructors and destructors are private
185
186Wdeclaration-after-statement
187C ObjC Var(warn_declaration_after_statement) Warning
188Warn when a declaration is found after a statement
189
190Wdeprecated
191C C++ ObjC ObjC++ Var(warn_deprecated) Init(1) Warning
192Warn if a deprecated compiler feature, class, method, or field is used
193
194Wdiv-by-zero
195C ObjC C++ ObjC++ Var(warn_div_by_zero) Init(1) Warning
196Warn about compile-time integer division by zero
197
198Weffc++
199C++ ObjC++ Var(warn_ecpp) Warning
200Warn about violations of Effective C++ style rules
201
202Wempty-body
203C ObjC C++ ObjC++ Var(warn_empty_body) Init(-1) Warning
204Warn about an empty body in an if or else statement
205
206Wendif-labels
207C ObjC C++ ObjC++ Warning
208Warn about stray tokens after #elif and #endif
209
210Wenum-compare
211C ObjC C++ ObjC++ Var(warn_enum_compare) Init(-1) Warning
212Warn about comparison of different enum types
213
214Werror
215C ObjC C++ ObjC++
216; Documented in common.opt
217
218Werror-implicit-function-declaration
219C ObjC RejectNegative Warning
220This switch is deprecated; use -Werror=implicit-function-declaration instead
221
222Wfloat-equal
223C ObjC C++ ObjC++ Var(warn_float_equal) Warning
224Warn if testing floating point numbers for equality
225
226Wformat
227C ObjC C++ ObjC++ Warning
228Warn about printf/scanf/strftime/strfmon format string anomalies
229
230Wformat-extra-args
231C ObjC C++ ObjC++ Var(warn_format_extra_args) Warning
232Warn if passing too many arguments to a function for its format string
233
234Wformat-nonliteral
235C ObjC C++ ObjC++ Var(warn_format_nonliteral) Warning
236Warn about format strings that are not literals
237
238Wformat-contains-nul
239C ObjC C++ ObjC++ Var(warn_format_contains_nul) Warning
240Warn about format strings that contain NUL bytes
241
242Wformat-security
243C ObjC C++ ObjC++ Var(warn_format_security) Warning
244Warn about possible security problems with format functions
245
246Wformat-y2k
247C ObjC C++ ObjC++ Var(warn_format_y2k) Warning
248Warn about strftime formats yielding 2-digit years
249
250Wformat-zero-length
251C ObjC Var(warn_format_zero_length) Warning
252Warn about zero-length formats
253
254Wformat=
255C ObjC C++ ObjC++ Joined Warning
256
257Wignored-qualifiers
258C C++ Var(warn_ignored_qualifiers) Init(-1) Warning
259Warn whenever type qualifiers are ignored.
260
261Winit-self
262C ObjC C++ ObjC++ Var(warn_init_self) Warning
263Warn about variables which are initialized to themselves
264
265Wimplicit
266C ObjC C++ ObjC++ Warning
267
268Wimplicit-function-declaration
269C ObjC Var(warn_implicit_function_declaration) Init(-1) Warning
270Warn about implicit function declarations
271
272Wimplicit-int
273C ObjC Var(warn_implicit_int) Warning
274Warn when a declaration does not specify a type
275
276Wimport
277C ObjC C++ ObjC++ Undocumented
278
279Wint-to-pointer-cast
280C ObjC Var(warn_int_to_pointer_cast) Init(1) Warning
281Warn when there is a cast to a pointer from an integer of a different size
282
283Winvalid-offsetof
284C++ ObjC++ Var(warn_invalid_offsetof) Init(1) Warning
285Warn about invalid uses of the \"offsetof\" macro
286
287Winvalid-pch
288C ObjC C++ ObjC++ Warning
289Warn about PCH files that are found but not used
290
291Wjump-misses-init
292C ObjC Var(warn_jump_misses_init) Init(-1) Warning
293Warn when a jump misses a variable initialization
294
295Wlogical-op
296C ObjC C++ ObjC++ Var(warn_logical_op) Init(0) Warning 
297Warn when a logical operator is suspiciously always evaluating to true or false
298
299Wlong-long
300C ObjC C++ ObjC++ Var(warn_long_long) Init(-1) Warning
301Do not warn about using \"long long\" when -pedantic
302
303Wmain
304C ObjC C++ ObjC++ Var(warn_main) Init(-1) Warning
305Warn about suspicious declarations of \"main\"
306
307Wmissing-braces
308C ObjC C++ ObjC++ Var(warn_missing_braces) Warning
309Warn about possibly missing braces around initializers
310
311Wmissing-declarations
312C ObjC C++ ObjC++ Var(warn_missing_declarations) Warning
313Warn about global functions without previous declarations
314
315Wmissing-field-initializers
316C ObjC C++ ObjC++ Var(warn_missing_field_initializers) Init(-1) Warning
317Warn about missing fields in struct initializers
318
319Wmissing-format-attribute
320C ObjC C++ ObjC++ Var(warn_missing_format_attribute) Warning
321Warn about functions which might be candidates for format attributes
322
323Wmissing-include-dirs
324C ObjC C++ ObjC++ Warning
325Warn about user-specified include directories that do not exist
326
327Wmissing-parameter-type
328C ObjC Var(warn_missing_parameter_type) Init(-1) Warning
329Warn about function parameters declared without a type specifier in K&R-style functions
330
331Wmissing-prototypes
332C ObjC Var(warn_missing_prototypes) Warning
333Warn about global functions without prototypes
334
335Wmultichar
336C ObjC C++ ObjC++ Warning
337Warn about use of multi-character character constants
338
339Wnested-externs
340C ObjC Var(warn_nested_externs) Warning
341Warn about \"extern\" declarations not at file scope
342
343Wnon-template-friend
344C++ ObjC++ Var(warn_nontemplate_friend) Init(1) Warning
345Warn when non-templatized friend functions are declared within a template
346
347Wnon-virtual-dtor
348C++ ObjC++ Var(warn_nonvdtor) Warning
349Warn about non-virtual destructors
350
351Wnonnull
352C ObjC Var(warn_nonnull) Warning
353Warn about NULL being passed to argument slots marked as requiring non-NULL
354
355Wnormalized=
356C ObjC C++ ObjC++ Joined Warning
357-Wnormalized=<id|nfc|nfkc>	Warn about non-normalised Unicode strings
358
359Wold-style-cast
360C++ ObjC++ Var(warn_old_style_cast) Warning
361Warn if a C-style cast is used in a program
362
363Wold-style-declaration
364C ObjC Var(warn_old_style_declaration) Init(-1) Warning
365Warn for obsolescent usage in a declaration
366
367Wold-style-definition
368C ObjC Var(warn_old_style_definition) Warning
369Warn if an old-style parameter definition is used
370
371Woverlength-strings
372C ObjC C++ ObjC++ Var(warn_overlength_strings) Init(-1) Warning
373Warn if a string is longer than the maximum portable length specified by the standard
374
375Woverloaded-virtual
376C++ ObjC++ Var(warn_overloaded_virtual) Warning
377Warn about overloaded virtual function names
378
379Woverride-init
380C ObjC Var(warn_override_init) Init(-1) Warning
381Warn about overriding initializers without side effects
382
383Wpacked-bitfield-compat
384C ObjC C++ ObjC++ Var(warn_packed_bitfield_compat) Init(-1) Warning
385Warn about packed bit-fields whose offset changed in GCC 4.4
386
387Wparentheses
388C ObjC C++ ObjC++ Var(warn_parentheses) Warning
389Warn about possibly missing parentheses
390
391Wpmf-conversions
392C++ ObjC++ Var(warn_pmf2ptr) Init(1) Warning
393Warn when converting the type of pointers to member functions
394
395Wpointer-arith
396C ObjC C++ ObjC++ Var(warn_pointer_arith) Warning
397Warn about function pointer arithmetic
398
399Wpointer-to-int-cast
400C ObjC Var(warn_pointer_to_int_cast) Init(1) Warning
401Warn when a pointer is cast to an integer of a different size
402
403Wpragmas
404C ObjC C++ ObjC++ Var(warn_pragmas) Init(1) Warning
405Warn about misuses of pragmas
406
407Wprotocol
408ObjC ObjC++ Var(warn_protocol) Init(1) Warning
409Warn if inherited methods are unimplemented
410
411Wredundant-decls
412C ObjC C++ ObjC++ Var(warn_redundant_decls) Warning
413Warn about multiple declarations of the same object
414
415Wreorder
416C++ ObjC++ Var(warn_reorder) Warning
417Warn when the compiler reorders code
418
419Wreturn-type
420C ObjC C++ ObjC++ Var(warn_return_type) Warning
421Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)
422
423Wselector
424ObjC ObjC++ Var(warn_selector) Warning
425Warn if a selector has multiple methods
426
427Wsequence-point
428C ObjC C++ ObjC++ Var(warn_sequence_point) Warning
429Warn about possible violations of sequence point rules
430
431Wsign-compare
432C ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1) Warning
433Warn about signed-unsigned comparisons
434
435Wsign-promo
436C++ ObjC++ Var(warn_sign_promo) Warning
437Warn when overload promotes from unsigned to signed
438
439Wstrict-null-sentinel
440C++ ObjC++ Warning
441Warn about uncasted NULL used as sentinel
442
443Wstrict-prototypes
444C ObjC Var(warn_strict_prototypes) Warning
445Warn about unprototyped function declarations
446
447Wstrict-selector-match
448ObjC ObjC++ Var(warn_strict_selector_match) Warning
449Warn if type signatures of candidate methods do not match exactly
450
451Wsync-nand
452C C++ Var(warn_sync_nand) Init(1) Warning
453Warn when __sync_fetch_and_nand and __sync_nand_and_fetch built-in functions are used
454
455Wsynth
456C++ ObjC++ Var(warn_synth) Warning
457Deprecated.  This switch has no effect
458
459Wsystem-headers
460C ObjC C++ ObjC++ Warning
461; Documented in common.opt
462
463Wtraditional
464C ObjC Var(warn_traditional) Warning
465Warn about features not present in traditional C
466
467Wtraditional-conversion
468C ObjC Var(warn_traditional_conversion) Warning
469Warn of prototypes causing type conversions different from what would happen in the absence of prototype
470
471Wtrigraphs
472C ObjC C++ ObjC++ Warning
473Warn if trigraphs are encountered that might affect the meaning of the program
474
475Wundeclared-selector
476ObjC ObjC++ Var(warn_undeclared_selector) Warning
477Warn about @selector()s without previously declared methods
478
479Wundef
480C ObjC C++ ObjC++ Warning
481Warn if an undefined macro is used in an #if directive
482
483Wunknown-pragmas
484C ObjC C++ ObjC++ Warning
485Warn about unrecognized pragmas
486
487Wunsuffixed-float-constants
488C ObjC Var(warn_unsuffixed_float_constants) Warning
489Warn about unsuffixed float constants
490
491Wunused-macros
492C ObjC C++ ObjC++ Warning
493Warn about macros defined in the main file that are not used
494
495Wunused-result
496C ObjC C++ ObjC++ Var(warn_unused_result) Init(1) Warning
497Warn if a caller of a function, marked with attribute warn_unused_result, does not use its return value
498
499Wvariadic-macros
500C ObjC C++ ObjC++ Warning
501Do not warn about using variadic macros when -pedantic
502
503Wvla
504C ObjC C++ ObjC++ Var(warn_vla) Init(-1) Warning
505Warn if a variable length array is used
506
507Wvolatile-register-var
508C ObjC C++ ObjC++ Var(warn_volatile_register_var) Warning
509Warn when a register variable is declared volatile
510
511Wwrite-strings
512C ObjC C++ ObjC++ Var(warn_write_strings) Warning
513In 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.
514
515Wpointer-sign
516C ObjC Var(warn_pointer_sign) Init(-1) Warning
517Warn when a pointer differs in signedness in an assignment
518
519ansi
520C ObjC C++ ObjC++
521A synonym for -std=c89 (for C) or -std=c++98 (for C++)
522
523; This should really just be C++/ObjC++ but we (NetBSD) use it when
524; calling C and ObjC compilers as well.
525cxx-isystem
526C ObjC C++ ObjC++ Joined Separate
527-cxx-isystem <dir>	Add <dir> to the start of the C++ system include path
528
529d
530C ObjC C++ ObjC++ Joined
531; Documented in common.opt.  FIXME - what about -dI, -dD, -dN and -dD?
532
533faccess-control
534C++ ObjC++
535Enforce class member access control semantics
536
537fall-virtual
538C++ ObjC++
539
540falt-external-templates
541C++ ObjC++
542Change when template instances are emitted
543
544fasm
545C ObjC C++ ObjC++
546Recognize the \"asm\" keyword
547
548fbuiltin
549C ObjC C++ ObjC++
550Recognize built-in functions
551
552fbuiltin-
553C ObjC C++ ObjC++ Joined
554
555fcheck-new
556C++ ObjC++
557Check the return value of new
558
559fcond-mismatch
560C ObjC C++ ObjC++
561Allow the arguments of the '?' operator to have different types
562
563fconserve-space
564C++ ObjC++
565Reduce the size of object files
566
567fconstant-string-class=
568ObjC ObjC++ Joined
569-fconst-string-class=<name>	Use class <name> for constant strings
570
571fdeduce-init-list
572C++ ObjC++ Var(flag_deduce_init_list) Init(1)
573-fno-deduce-init-list	disable deduction of std::initializer_list for a template type parameter from a brace-enclosed initializer-list
574
575fdefault-inline
576C++ ObjC++
577Inline member functions by default
578
579fdirectives-only
580C ObjC C++ ObjC++
581Preprocess directives only.
582
583fdollars-in-identifiers
584C ObjC C++ ObjC++
585Permit '$' as an identifier character
586
587felide-constructors
588C++ ObjC++
589
590fenforce-eh-specs
591C++ ObjC++
592Generate code to check exception specifications
593
594fenum-int-equiv
595C++ ObjC++
596
597fexec-charset=
598C ObjC C++ ObjC++ Joined RejectNegative
599-fexec-charset=<cset>	Convert all strings and character constants to character set <cset>
600
601fextended-identifiers
602C ObjC C++ ObjC++
603Permit universal character names (\\u and \\U) in identifiers
604
605finput-charset=
606C ObjC C++ ObjC++ Joined RejectNegative
607-finput-charset=<cset>	Specify the default character set for source files
608
609
610fexternal-templates
611C++ ObjC++
612
613ffor-scope
614C++ ObjC++
615Scope of for-init-statement variables is local to the loop
616
617ffreestanding
618C ObjC C++ ObjC++
619Do not assume that standard C libraries and \"main\" exist
620
621fgnu-keywords
622C++ ObjC++
623Recognize GNU-defined keywords
624
625fgnu-runtime
626ObjC ObjC++
627Generate code for GNU runtime environment
628
629fgnu89-inline
630C ObjC Var(flag_gnu89_inline) Init(-1)
631Use traditional GNU semantics for inline functions
632
633fguiding-decls
634C++ ObjC++
635
636fhandle-exceptions
637C++ ObjC++ Optimization
638
639fhonor-std
640C++ ObjC++
641
642fhosted
643C ObjC
644Assume normal C execution environment
645
646fhuge-objects
647C++ ObjC++
648Enable support for huge objects
649
650fimplement-inlines
651C++ ObjC++
652Export functions even if they can be inlined
653
654fimplicit-inline-templates
655C++ ObjC++
656Emit implicit instantiations of inline templates
657
658fimplicit-templates
659C++ ObjC++
660Emit implicit instantiations of templates
661
662ffriend-injection
663C++ ObjC++ Var(flag_friend_injection)
664Inject friend functions into enclosing namespace
665
666flabels-ok
667C++ ObjC++
668
669flax-vector-conversions
670C ObjC C++ ObjC++
671Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types.
672
673fms-extensions
674C ObjC C++ ObjC++
675Don't warn about uses of Microsoft extensions
676
677fname-mangling-version-
678C++ ObjC++ Joined
679
680fnew-abi
681C++ ObjC++
682
683fnext-runtime
684ObjC ObjC++
685Generate code for NeXT (Apple Mac OS X) runtime environment
686
687fnil-receivers
688ObjC ObjC++
689Assume that receivers of Objective-C messages may be nil
690
691fnonansi-builtins
692C++ ObjC++
693
694fnonnull-objects
695C++ ObjC++
696
697; Generate special '- .cxx_construct' and '- .cxx_destruct' methods
698; to initialize any non-POD ivars in Objective-C++ classes.
699fobjc-call-cxx-cdtors
700ObjC++ Var(flag_objc_call_cxx_cdtors)
701Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed
702
703fobjc-direct-dispatch
704ObjC ObjC++ Var(flag_objc_direct_dispatch)
705Allow fast jumps to the message dispatcher
706
707; Nonzero means that we will allow new ObjC exception syntax (@throw,
708; @try, etc.) in source code.
709fobjc-exceptions
710ObjC ObjC++ Var(flag_objc_exceptions)
711Enable Objective-C exception and synchronization syntax
712
713fobjc-gc
714ObjC ObjC++ Var(flag_objc_gc)
715Enable garbage collection (GC) in Objective-C/Objective-C++ programs
716
717; Nonzero means that we generate NeXT setjmp based exceptions.
718fobjc-sjlj-exceptions
719ObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1)
720Enable Objective-C setjmp exception handling runtime
721
722fopenmp
723C ObjC C++ ObjC++ Var(flag_openmp)
724Enable OpenMP (implies -frecursive in Fortran)
725
726foperator-names
727C++ ObjC++
728Recognize C++ keywords like \"compl\" and \"xor\"
729
730foptional-diags
731C++ ObjC++
732Enable optional diagnostics
733
734fpch-deps
735C ObjC C++ ObjC++
736
737fpch-preprocess
738C ObjC C++ ObjC++
739Look for and use PCH files even when preprocessing
740
741fpermissive
742C++ ObjC++
743Downgrade conformance errors to warnings
744
745fpreprocessed
746C ObjC C++ ObjC++
747Treat the input file as already preprocessed
748
749fpretty-templates
750C++ ObjC++
751-fno-pretty-templates Do not pretty-print template specializations as the template signature followed by the arguments
752
753freplace-objc-classes
754ObjC ObjC++
755Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime
756
757frepo
758C++ ObjC++
759Enable automatic template instantiation
760
761frtti
762C++ ObjC++ Optimization
763Generate run time type descriptor information
764
765fshort-double
766C ObjC C++ ObjC++ Optimization
767Use the same size for double as for float
768
769fshort-enums
770C ObjC C++ ObjC++ Optimization
771Use the narrowest integer type possible for enumeration types
772
773fshort-wchar
774C ObjC C++ ObjC++ Optimization
775Force the underlying type for \"wchar_t\" to be \"unsigned short\"
776
777fsigned-bitfields
778C ObjC C++ ObjC++
779When \"signed\" or \"unsigned\" is not given make the bitfield signed
780
781fsigned-char
782C ObjC C++ ObjC++ LTO
783Make \"char\" signed by default
784
785fsquangle
786C++ ObjC++
787
788fstats
789C++ ObjC++
790Display statistics accumulated during compilation
791
792fstrict-prototype
793C++ ObjC++
794
795ftabstop=
796C ObjC C++ ObjC++ Joined RejectNegative UInteger
797-ftabstop=<number>	Distance between tab stops for column reporting
798
799ftemplate-depth-
800C++ ObjC++ Joined RejectNegative UInteger Undocumented
801
802ftemplate-depth=
803C++ ObjC++ Joined RejectNegative UInteger
804-ftemplate-depth=<number>	Specify maximum template instantiation depth
805
806fthis-is-variable
807C++ ObjC++
808
809fthreadsafe-statics
810C++ ObjC++ Optimization
811-fno-threadsafe-statics	Do not generate thread-safe code for initializing local statics
812
813funsigned-bitfields
814C ObjC C++ ObjC++
815When \"signed\" or \"unsigned\" is not given make the bitfield unsigned
816
817funsigned-char
818C ObjC C++ ObjC++ LTO
819Make \"char\" unsigned by default
820
821fuse-cxa-atexit
822C++ ObjC++
823Use __cxa_atexit to register destructors
824
825fuse-cxa-get-exception-ptr
826C++ ObjC++
827Use __cxa_get_exception_ptr in exception handling
828
829fvisibility-inlines-hidden
830C++ ObjC++
831Marks all inlined methods as having hidden visibility
832
833fvisibility-ms-compat
834C++ ObjC++ Var(flag_visibility_ms_compat)
835Changes visibility to match Microsoft Visual Studio by default
836
837fvtable-gc
838C++ ObjC++
839Discard unused virtual functions
840
841fvtable-thunks
842C++ ObjC++
843Implement vtables using thunks
844
845fweak
846C++ ObjC++
847Emit common-like symbols as weak symbols
848
849fwide-exec-charset=
850C ObjC C++ ObjC++ Joined RejectNegative
851-fwide-exec-charset=<cset>	Convert all wide strings and character constants to character set <cset>
852
853fworking-directory
854C ObjC C++ ObjC++
855Generate a #line directive pointing at the current working directory
856
857fxref
858C++ ObjC++
859Emit cross referencing information
860
861fzero-link
862ObjC ObjC++
863Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode
864
865gen-decls
866ObjC ObjC++
867Dump declarations to a .decl file
868
869femit-struct-debug-baseonly
870C ObjC C++ ObjC++
871-femit-struct-debug-baseonly	Aggressive reduced debug info for structs
872
873femit-struct-debug-reduced
874C ObjC C++ ObjC++
875-femit-struct-debug-reduced	Conservative reduced debug info for structs
876
877femit-struct-debug-detailed=
878C ObjC C++ ObjC++ Joined
879-femit-struct-debug-detailed=<spec-list>	Detailed reduced debug info for structs
880
881idirafter
882C ObjC C++ ObjC++ Joined Separate
883-idirafter <dir>	Add <dir> to the end of the system include path
884
885imacros
886C ObjC C++ ObjC++ Joined Separate
887-imacros <file>	Accept definition of macros in <file>
888
889imultilib
890C ObjC C++ ObjC++ Joined Separate
891-imultilib <dir>	Set <dir> to be the multilib include subdirectory
892
893include
894C ObjC C++ ObjC++ Joined Separate
895-include <file>	Include the contents of <file> before other files
896
897iprefix
898C ObjC C++ ObjC++ Joined Separate
899-iprefix <path>	Specify <path> as a prefix for next two options
900
901isysroot
902C ObjC C++ ObjC++ Joined Separate
903-isysroot <dir>	Set <dir> to be the system root directory
904
905isystem
906C ObjC C++ ObjC++ Joined Separate
907-isystem <dir>	Add <dir> to the start of the system include path
908
909iquote
910C ObjC C++ ObjC++ Joined Separate
911-iquote <dir>	Add <dir> to the end of the quote include path
912
913iremap
914C ObjC C++ ObjC++ Joined Separate
915-iremap <src:dst>	Convert <src> to <dst> if it occurs as prefix in __FILE__.
916
917iwithprefix
918C ObjC C++ ObjC++ Joined Separate
919-iwithprefix <dir>	Add <dir> to the end of the system include path
920
921iwithprefixbefore
922C ObjC C++ ObjC++ Joined Separate
923-iwithprefixbefore <dir>	Add <dir> to the end of the main include path
924
925lang-asm
926C Undocumented
927
928lang-objc
929C ObjC C++ ObjC++ Undocumented
930
931nostdinc
932C ObjC C++ ObjC++
933Do not search standard system include directories (those specified with -isystem will still be used)
934
935nostdinc++
936C++ ObjC++
937Do not search standard system include directories for C++
938
939o
940C ObjC C++ ObjC++ Joined Separate
941; Documented in common.opt
942
943pedantic
944C ObjC C++ ObjC++
945; Documented in common.opt
946
947pedantic-errors
948C ObjC C++ ObjC++
949; Documented in common.opt
950
951print-objc-runtime-info
952ObjC ObjC++
953Generate C header of platform-specific features
954
955print-pch-checksum
956C ObjC C++ ObjC++
957Print a checksum of the executable for PCH validity checking, and stop
958
959remap
960C ObjC C++ ObjC++
961Remap file names when including files
962
963std=c++98
964C++ ObjC++
965Conform to the ISO 1998 C++ standard
966
967std=c++0x
968C++ ObjC++
969Conform to the ISO 1998 C++ standard, with extensions that are likely to
970become a part of the upcoming ISO C++ standard, dubbed C++0x. Note that the
971extensions enabled by this mode are experimental and may be removed in
972future releases of GCC.
973
974std=c89
975C ObjC
976Conform to the ISO 1990 C standard
977
978std=c90
979C ObjC
980Conform to the ISO 1990 C standard
981
982std=c99
983C ObjC
984Conform to the ISO 1999 C standard
985
986std=c9x
987C ObjC
988Deprecated in favor of -std=c99
989
990std=gnu++98
991C++ ObjC++
992Conform to the ISO 1998 C++ standard with GNU extensions
993
994std=gnu++0x
995C++ ObjC++
996Conform to the ISO 1998 C++ standard, with GNU extensions and
997extensions that are likely to become a part of the upcoming ISO C++
998standard, dubbed C++0x. Note that the extensions enabled by this mode
999are experimental and may be removed in future releases of GCC.
1000
1001std=gnu89
1002C ObjC
1003Conform to the ISO 1990 C standard with GNU extensions
1004
1005std=gnu90
1006C ObjC
1007Conform to the ISO 1990 C standard with GNU extensions
1008
1009std=gnu99
1010C ObjC
1011Conform to the ISO 1999 C standard with GNU extensions
1012
1013std=gnu9x
1014C ObjC
1015Deprecated in favor of -std=gnu99
1016
1017std=iso9899:1990
1018C ObjC
1019Conform to the ISO 1990 C standard
1020
1021std=iso9899:199409
1022C ObjC
1023Conform to the ISO 1990 C standard as amended in 1994
1024
1025std=iso9899:1999
1026C ObjC
1027Conform to the ISO 1999 C standard
1028
1029std=iso9899:199x
1030C ObjC
1031Deprecated in favor of -std=iso9899:1999
1032
1033traditional-cpp
1034C ObjC C++ ObjC++
1035Enable traditional preprocessing
1036
1037trigraphs
1038C ObjC C++ ObjC++
1039-trigraphs	Support ISO C trigraphs
1040
1041undef
1042C ObjC C++ ObjC++
1043Do not predefine system-specific and GCC-specific macros
1044
1045v
1046Common C ObjC C++ ObjC++
1047Enable verbose output
1048
1049w
1050C ObjC C++ ObjC++
1051; Documented in common.opt
1052
1053; This comment is to ensure we retain the blank line above.
1054