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