OSDN Git Service

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