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