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