OSDN Git Service

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