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