]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c.opt
Yet more Objective-C++...
[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 356
b2f97e4a
MM
357Wstrict-null-sentinel
358C++ ObjC++
359Warn about uncasted NULL used as sentinel
360
fef3106c 361Wstrict-prototypes
7619c085 362C ObjC Var(warn_strict_prototypes)
5a170a05 363Warn about unprototyped function declarations
fef3106c
NB
364
365Wsynth
7619c085 366C++ ObjC++ Var(warn_synth)
bae92bf3 367Warn when synthesis behavior differs from Cfront
fef3106c
NB
368
369Wsystem-headers
370C ObjC C++ ObjC++
72de27ea 371Do not suppress warnings from system headers
fef3106c
NB
372
373Wtraditional
7619c085 374C ObjC Var(warn_traditional)
72de27ea 375Warn about features not present in traditional C
fef3106c
NB
376
377Wtrigraphs
378C ObjC C++ ObjC++
72de27ea 379Warn if trigraphs are encountered that might affect the meaning of the program
fef3106c
NB
380
381Wundeclared-selector
7619c085
DD
382ObjC ObjC++ Var(warn_undeclared_selector)
383Warn about @selector()s without previously declared methods
fef3106c
NB
384
385Wundef
386C ObjC C++ ObjC++
72de27ea 387Warn if an undefined macro is used in an #if directive
fef3106c
NB
388
389Wunknown-pragmas
390C ObjC C++ ObjC++
5a170a05 391Warn about unrecognized pragmas
fef3106c
NB
392
393Wunused-macros
394C ObjC C++ ObjC++
72de27ea 395Warn about macros defined in the main file that are not used
fef3106c 396
e5b79219
RH
397Wvariadic-macros
398C ObjC C++ ObjC++
399Do not warn about using variadic macros when -pedantic
400
fef3106c
NB
401Wwrite-strings
402C ObjC C++ ObjC++
5a170a05 403Give strings the type \"array of char\"
fef3106c 404
f2fd3821
AJ
405Wpointer-sign
406C ObjC Var(warn_pointer_sign) Init(1)
407Warn when a pointer differs in signedness in an assignment.
408
fef3106c
NB
409ansi
410C ObjC C++ ObjC++
3a1e400e 411A synonym for -std=c89 (for C) or -std=c++98 (for C++).
fef3106c
NB
412
413d
414C ObjC C++ ObjC++ Joined
72de27ea 415; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD?
fef3106c 416
fef3106c
NB
417faccess-control
418C++ ObjC++
bae92bf3 419Enforce class member access control semantics
fef3106c
NB
420
421fall-virtual
422C++ ObjC++
423
424falt-external-templates
425C++ ObjC++
bae92bf3 426Change when template instances are emitted
fef3106c
NB
427
428fasm
429C ObjC C++ ObjC++
5a170a05 430Recognize the \"asm\" keyword
fef3106c
NB
431
432fbuiltin
433C ObjC C++ ObjC++
5a170a05 434Recognize built-in functions
fef3106c
NB
435
436fbuiltin-
437C ObjC C++ ObjC++ Joined
438
439fcheck-new
440C++ ObjC++
bae92bf3 441Check the return value of new
fef3106c
NB
442
443fcond-mismatch
444C ObjC C++ ObjC++
5a170a05 445Allow the arguments of the '?' operator to have different types
fef3106c
NB
446
447fconserve-space
448C++ ObjC++
bae92bf3 449Reduce the size of object files
fef3106c
NB
450
451fconst-strings
452C++ ObjC++
bae92bf3 453Make string literals \"const char[]\" not \"char[]\"
fef3106c
NB
454
455fconstant-string-class=
456ObjC ObjC++ Joined
f2ac9964 457-fconst-string-class=<name> Use class <name> for constant strings
fef3106c
NB
458
459fdefault-inline
460C++ ObjC++
bae92bf3 461Inline member functions by default
fef3106c
NB
462
463fdollars-in-identifiers
464C ObjC C++ ObjC++
72de27ea 465Permit '$' as an identifier character
fef3106c 466
fef3106c
NB
467felide-constructors
468C++ ObjC++
469
470fenforce-eh-specs
471C++ ObjC++
bae92bf3 472Generate code to check exception specifications
fef3106c
NB
473
474fenum-int-equiv
475C++ ObjC++
476
e6cc3a24
ZW
477fexec-charset=
478C ObjC C++ ObjC++ Joined RejectNegative
72de27ea 479-fexec-charset=<cset> Convert all strings and character constants to character set <cset>
e6cc3a24 480
16dd5cfe
EC
481finput-charset=
482C ObjC C++ ObjC++ Joined RejectNegative
4e994432 483-finput-charset=<cset> Specify the default character set for source files.
16dd5cfe
EC
484
485
fef3106c
NB
486fexternal-templates
487C++ ObjC++
488
489ffixed-form
490C ObjC
491
492ffixed-line-length-
493C ObjC Joined
494
495ffor-scope
496C++ ObjC++
bae92bf3 497Scope of for-init-statement variables is local to the loop
fef3106c
NB
498
499ffreestanding
500C ObjC
5a170a05 501Do not assume that standard C libraries and \"main\" exist
fef3106c
NB
502
503fgnu-keywords
504C++ ObjC++
bae92bf3 505Recognize GNU-defined keywords
fef3106c
NB
506
507fgnu-runtime
508ObjC ObjC++
f2ac9964 509Generate code for GNU runtime environment
fef3106c
NB
510
511fguiding-decls
512C++ ObjC++
513
514fhandle-exceptions
515C++ ObjC++
516
517fhonor-std
518C++ ObjC++
519
520fhosted
521C ObjC
5a170a05 522Assume normal C execution environment
fef3106c
NB
523
524fhuge-objects
525C++ ObjC++
bae92bf3 526Enable support for huge objects
fef3106c
NB
527
528fimplement-inlines
529C++ ObjC++
bae92bf3 530Export functions even if they can be inlined
fef3106c
NB
531
532fimplicit-inline-templates
533C++ ObjC++
bae92bf3 534Emit implicit instantiations of inline templates
fef3106c
NB
535
536fimplicit-templates
537C++ ObjC++
bae92bf3 538Emit implicit instantiations of templates
fef3106c
NB
539
540flabels-ok
541C++ ObjC++
542
543fms-extensions
544C ObjC C++ ObjC++
bae92bf3 545Don't warn about uses of Microsoft extensions
fef3106c
NB
546
547fname-mangling-version-
548C++ ObjC++ Joined
549
550fnew-abi
551C++ ObjC++
552
553fnext-runtime
554ObjC ObjC++
264fa2db
ZL
555Generate code for NeXT (Apple Mac OS X) runtime environment
556
557fnil-receivers
558ObjC ObjC++
559Assume that receivers of Objective-C messages may be nil
fef3106c
NB
560
561fnonansi-builtins
562C++ ObjC++
563
564fnonnull-objects
565C++ ObjC++
566
264fa2db
ZL
567fobjc-exceptions
568ObjC ObjC++
569Enable Objective-C exception and synchronization syntax
570
093c7153
RH
571fobjc-sjlj-exceptions
572ObjC ObjC++
573Enable Objective-C setjmp exception handling runtime
574
fef3106c
NB
575foperator-names
576C++ ObjC++
bae92bf3 577Recognize C++ kewords like \"compl\" and \"xor\"
fef3106c
NB
578
579foptional-diags
580C++ ObjC++
bae92bf3 581Enable optional diagnostics
fef3106c
NB
582
583fpch-deps
584C ObjC C++ ObjC++
585
c0d578e6
GK
586fpch-preprocess
587C ObjC C++ ObjC++
588Look for and use PCH files even when preprocessing
589
fef3106c
NB
590fpermissive
591C++ ObjC++
bae92bf3 592Downgrade conformance errors to warnings
fef3106c
NB
593
594fpreprocessed
595C ObjC C++ ObjC++
72de27ea 596Treat the input file as already preprocessed
fef3106c 597
264fa2db
ZL
598freplace-objc-classes
599ObjC ObjC++
600Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime
601
fef3106c
NB
602frepo
603C++ ObjC++
bae92bf3 604Enable automatic template instantiation
fef3106c
NB
605
606frtti
607C++ ObjC++
bae92bf3 608Generate run time type descriptor information
fef3106c
NB
609
610fshort-double
611C ObjC C++ ObjC++
5a170a05 612Use the same size for double as for float
fef3106c
NB
613
614fshort-enums
615C ObjC C++ ObjC++
5a170a05 616Use the narrowest integer type possible for enumeration types
fef3106c
NB
617
618fshort-wchar
619C ObjC C++ ObjC++
5a170a05 620Force the underlying type for \"wchar_t\" to be \"unsigned short\"
fef3106c 621
fef3106c
NB
622fsigned-bitfields
623C ObjC C++ ObjC++
5a170a05 624When \"signed\" or \"unsigned\" is not given make the bitfield signed
fef3106c
NB
625
626fsigned-char
627C ObjC C++ ObjC++
5a170a05 628Make \"char\" signed by default
fef3106c
NB
629
630fsquangle
631C++ ObjC++
632
633fstats
634C++ ObjC++
bae92bf3 635Display statistics accumulated during compilation
fef3106c
NB
636
637fstrict-prototype
638C++ ObjC++
639
640ftabstop=
7b086b11 641C ObjC C++ ObjC++ Joined RejectNegative UInteger
72de27ea 642-ftabstop=<number> Distance between tab stops for column reporting
fef3106c
NB
643
644ftemplate-depth-
7b086b11 645C++ ObjC++ Joined RejectNegative UInteger
bae92bf3 646-ftemplate-depth-<number> Specify maximum template instantiation depth
fef3106c
NB
647
648fthis-is-variable
649C++ ObjC++
650
40aac948
JM
651fthreadsafe-statics
652C++ ObjC++
653-fno-threadsafe-statics Do not generate thread-safe code for initializing local statics.
654
fef3106c
NB
655funsigned-bitfields
656C ObjC C++ ObjC++
5a170a05 657When \"signed\" or \"unsigned\" is not given make the bitfield unsigned
fef3106c
NB
658
659funsigned-char
660C ObjC C++ ObjC++
5a170a05 661Make \"char\" unsigned by default
fef3106c
NB
662
663fuse-cxa-atexit
664C++ ObjC++
bae92bf3 665Use __cxa_atexit to register destructors
fef3106c 666
d7afec4b 667fvisibility-inlines-hidden
d0b07283 668C++ ObjC++
d7afec4b
ND
669Marks all inlined methods as having hidden visibility
670
fef3106c
NB
671fvtable-gc
672C++ ObjC++
bae92bf3 673Discard unused virtual functions
fef3106c
NB
674
675fvtable-thunks
676C++ ObjC++
bae92bf3 677Implement vtables using thunks
fef3106c
NB
678
679fweak
680C++ ObjC++
bae92bf3 681Emit common-like symbols as weak symbols
fef3106c 682
e6cc3a24
ZW
683fwide-exec-charset=
684C ObjC C++ ObjC++ Joined RejectNegative
72de27ea 685-fwide-exec-charset=<cset> Convert all wide strings and character constants to character set <cset>
e6cc3a24 686
b20d9f0c
AO
687fworking-directory
688C ObjC C++ ObjC++
689Generate a #line directive pointing at the current working directory
690
fef3106c
NB
691fxref
692C++ ObjC++
bae92bf3 693Emit cross referencing information
fef3106c 694
264fa2db
ZL
695fzero-link
696ObjC ObjC++
697Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode
698
fef3106c
NB
699gen-decls
700ObjC ObjC++
f2ac9964 701Dump declarations to a .decl file
fef3106c
NB
702
703idirafter
704C ObjC C++ ObjC++ Joined Separate
72de27ea 705-idirafter <dir> Add <dir> to the end of the system include path
fef3106c
NB
706
707imacros
708C ObjC C++ ObjC++ Joined Separate
72de27ea 709-imacros <file> Accept definition of macros in <file>
fef3106c
NB
710
711include
712C ObjC C++ ObjC++ Joined Separate
72de27ea 713-include <file> Include the contents of <file> before other files
fef3106c
NB
714
715iprefix
716C ObjC C++ ObjC++ Joined Separate
72de27ea 717-iprefix <path> Specify <path> as a prefix for next two options
fef3106c
NB
718
719isysroot
720C ObjC C++ ObjC++ Joined Separate
72de27ea 721-isysroot <dir> Set <dir> to be the system root directory
fef3106c
NB
722
723isystem
724C ObjC C++ ObjC++ Joined Separate
72de27ea 725-isystem <dir> Add <dir> to the start of the system include path
fef3106c 726
4bed3787
MS
727iquote
728C ObjC C++ ObjC++ Joined Separate
729-iquote <dir> Add <dir> to the end of the quote include path
730
fef3106c
NB
731iwithprefix
732C ObjC C++ ObjC++ Joined Separate
72de27ea 733-iwithprefix <dir> Add <dir> to the end of the system include path
fef3106c
NB
734
735iwithprefixbefore
736C ObjC C++ ObjC++ Joined Separate
72de27ea 737-iwithprefixbefore <dir> Add <dir> to the end of the main include path
fef3106c
NB
738
739lang-asm
f2ac9964 740C Undocumented
fef3106c
NB
741
742lang-objc
f2ac9964 743C ObjC C++ ObjC++ Undocumented
fef3106c
NB
744
745nostdinc
746C ObjC C++ ObjC++
72de27ea 747Do not search standard system include directories (those specified with -isystem will still be used)
fef3106c
NB
748
749nostdinc++
72de27ea
NB
750C++ ObjC++
751Do not search standard system include directories for C++
fef3106c
NB
752
753o
754C ObjC C++ ObjC++ Joined Separate
72de27ea 755; Documented in common.opt
fef3106c
NB
756
757pedantic
758C ObjC C++ ObjC++
72de27ea 759; Documented in common.opt
fef3106c
NB
760
761pedantic-errors
762C ObjC C++ ObjC++
72de27ea 763; Documented in common.opt
fef3106c
NB
764
765print-objc-runtime-info
766ObjC ObjC++
f2ac9964 767Generate C header of platform-specific features
fef3106c
NB
768
769remap
770C ObjC C++ ObjC++
72de27ea 771Remap file names when including files
fef3106c
NB
772
773std=c++98
774C++ ObjC++
72de27ea 775Conform to the ISO 1998 C++ standard
fef3106c
NB
776
777std=c89
778C ObjC
72de27ea 779Conform to the ISO 1990 C standard
fef3106c
NB
780
781std=c99
782C ObjC
72de27ea 783Conform to the ISO 1999 C standard
fef3106c
NB
784
785std=c9x
786C ObjC
72de27ea 787Deprecated in favor of -std=c99
fef3106c
NB
788
789std=gnu++98
790C++ ObjC++
72de27ea 791Conform to the ISO 1998 C++ standard with GNU extensions
fef3106c
NB
792
793std=gnu89
794C ObjC
72de27ea 795Conform to the ISO 1990 C standard with GNU extensions
fef3106c
NB
796
797std=gnu99
798C ObjC
72de27ea 799Conform to the ISO 1999 C standard with GNU extensions
fef3106c
NB
800
801std=gnu9x
802C ObjC
72de27ea 803Deprecated in favor of -std=gnu99
fef3106c
NB
804
805std=iso9899:1990
806C ObjC
3a1e400e 807Conform to the ISO 1990 C standard
fef3106c
NB
808
809std=iso9899:199409
810C ObjC
72de27ea 811Conform to the ISO 1990 C standard as amended in 1994
fef3106c
NB
812
813std=iso9899:1999
814C ObjC
3a1e400e 815Conform to the ISO 1999 C standard
fef3106c
NB
816
817std=iso9899:199x
818C ObjC
3a1e400e 819Deprecated in favor of -std=iso9899:1999
fef3106c
NB
820
821traditional-cpp
822C ObjC C++ ObjC++
72de27ea 823Enable traditional preprocessing
fef3106c
NB
824
825trigraphs
826C ObjC C++ ObjC++
72de27ea 827-trigraphs Support ISO C trigraphs
fef3106c
NB
828
829undef
830C ObjC C++ ObjC++
72de27ea 831Do not predefine system-specific and GCC-specific macros
fef3106c
NB
832
833v
834C ObjC C++ ObjC++
72de27ea 835Enable verbose output
fef3106c
NB
836
837w
838C ObjC C++ ObjC++
72de27ea 839; Documented in common.opt
e11a4ae5
NB
840
841; This comment is to ensure we retain the blank line above.