]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c.opt
exception.c: New file.
[thirdparty/gcc.git] / gcc / c.opt
CommitLineData
fef3106c 1; Options for the C, ObjC, C++ and ObjC++ front ends.
ca2b05ba 2; Copyright (C) 2003, 2004 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
21
22; This file is processed by the script opts.sh. It is a database of
23; command line options, with each record separated by a blank line,
24; and each field appearing on its own line. The first field is the
25; command-line switch with the leading "-" removed. All options
26; beginning with "f" or "W" are implicitly assumed to take a "no-"
c83857ff
NB
27; form; this form should not be listed. If you do not want this
28; negative form and you want it to be automatically rejected, add
29; RejectNegative to the second field.
fef3106c
NB
30
31; The second field is a space-separated list of which parts of the
be43ab4e
NB
32; compiler recognize the switch, as declared by "Language" entries.
33; If the switch takes an argument, then you should also specify
34; "Joined" and/or "Separate" to indicate where the argument can
7b086b11
NB
35; appear. If a Joined argument can legitimately be omitted, specify
36; "JoinedOrMissing" instead of "Joined". If the argument to a switch
37; is a non-negative integer, you can specify "UInteger" and the switch
38; decoder will convert the argument for you, or complain to the user
50431bc4
ZD
39; if the argument is invalid. "Var(name,set)" creates an integer
40; variable "name". The variable is declared and initialized to value
41; given by "Init(value)" (or zero if this property is not defined).
42; When the option is passed to compiler, this variable is set to "set"
43; if value passed through the flag is nonzero, !"set" if value is zero,
44; or to value if "set" is omitted. If "VarExists" is specified, the
45; declaration for the variable is not created. If "Report" is specified,
46; the flag is output with -fverbose-asm.
fef3106c 47
cf03fd63
NB
48; The third field is the help text to output with --help. This is
49; automatically line-wrapped on output. Normally the switch is output
50; automatically, with the help text on the right hand side of the
51; output. However, if the help text contains a tab character, the
52; text to the left of the tab is output instead of the switch, and the
53; text to its right forms the help. This is useful for elaborating on
f2ac9964
NB
54; what type of argument a switch takes, for example. If the second
55; field contains "Undocumented" then nothing is output with --help.
56; Only do this with good reason like the switch being internal between
57; the driver and the front end - it is not an excuse to leave a switch
58; undocumented.
cf03fd63 59
fef3106c
NB
60; Comments can appear on their own line anwhere in the file, preceded
61; by a semicolon. Whitespace is permitted before the semicolon.
62
63; For each switch XXX below, an enumeration constant is created by the
64; script opts.sh spelt OPT_XXX, but with all non-alphanumeric
65; characters replaced with an underscore.
66
67; Please try to keep this file in ASCII collating order.
68
be43ab4e
NB
69Language
70C
71
72Language
73ObjC
74
75Language
76C++
77
78Language
79ObjC++
80
fef3106c
NB
81-output-pch=
82C ObjC C++ ObjC++ Joined Separate
83
84A
85C ObjC C++ ObjC++ Joined Separate
72de27ea 86-A<question>=<answer> Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>
fef3106c
NB
87
88C
89C ObjC C++ ObjC++
72de27ea 90Do not discard comments
fef3106c
NB
91
92CC
93C ObjC C++ ObjC++
72de27ea 94Do not discard comments in macro expansions
fef3106c
NB
95
96D
97C ObjC C++ ObjC++ Joined Separate
72de27ea 98-D<macro>[=<val>] Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1
fef3106c
NB
99
100E
f2ac9964 101C ObjC C++ ObjC++ Undocumented
fef3106c 102
94d1613b
MS
103F
104C ObjC C++ ObjC++ Joined Separate
105-F <dir> Add <dir> to the end of the main framework include path
106
fef3106c
NB
107H
108C ObjC C++ ObjC++
72de27ea 109Print the name of header files as they are used
fef3106c
NB
110
111I
112C ObjC C++ ObjC++ Joined Separate
4bed3787 113-I <dir> Add <dir> to the end of the main include path
fef3106c
NB
114
115M
116C ObjC C++ ObjC++
72de27ea 117Generate make dependencies
fef3106c
NB
118
119MD
120C ObjC C++ ObjC++ Separate
72de27ea 121Generate make dependencies and compile
fef3106c
NB
122
123MF
124C ObjC C++ ObjC++ Joined Separate
72de27ea 125-MF <file> Write dependency output to the given file
fef3106c
NB
126
127MG
128C ObjC C++ ObjC++
72de27ea 129Treat missing header files as generated files
fef3106c
NB
130
131MM
132C ObjC C++ ObjC++
72de27ea 133Like -M but ignore system header files
fef3106c
NB
134
135MMD
136C ObjC C++ ObjC++ Separate
72de27ea 137Like -MD but ignore system header files
fef3106c
NB
138
139MP
140C ObjC C++ ObjC++
72de27ea 141Generate phony targets for all headers
fef3106c
NB
142
143MQ
144C ObjC C++ ObjC++ Joined Separate
72de27ea 145-MQ <target> Add a MAKE-quoted target
fef3106c
NB
146
147MT
148C ObjC C++ ObjC++ Joined Separate
72de27ea 149-MT <target> Add an unquoted target
fef3106c
NB
150
151P
152C ObjC C++ ObjC++
72de27ea 153Do not generate #line directives
fef3106c
NB
154
155U
156C ObjC C++ ObjC++ Joined Separate
72de27ea 157-U<macro> Undefine <macro>
fef3106c
NB
158
159Wabi
160C++ ObjC++
161
162Wall
163C ObjC C++ ObjC++
5a170a05 164Enable most warning messages
fef3106c
NB
165
166Wbad-function-cast
167C ObjC
5a170a05 168Warn about casting functions to incompatible types
fef3106c
NB
169
170Wcast-qual
171C ObjC C++ ObjC++
5a170a05 172Warn about casts which discard qualifiers
fef3106c
NB
173
174Wchar-subscripts
175C ObjC C++ ObjC++
5a170a05 176Warn about subscripts whose type is \"char\"
fef3106c
NB
177
178Wcomment
179C ObjC C++ ObjC++
72de27ea 180Warn about possibly nested block comments, and C++ comments spanning more than one physical line
fef3106c
NB
181
182Wcomments
183C ObjC C++ ObjC++
72de27ea 184Synonym for -Wcomment
fef3106c
NB
185
186Wconversion
187C ObjC C++ ObjC++
5a170a05 188Warn about possibly confusing type conversions
fef3106c
NB
189
190Wctor-dtor-privacy
191C++ ObjC++
bae92bf3 192Warn when all constructors and destructors are private
fef3106c 193
85617eba
HPN
194Wdeclaration-after-statement
195C ObjC
196Warn when a declaration is found after a statement
197
fef3106c
NB
198Wdeprecated
199C++ ObjC++
bae92bf3 200Warn about deprecated compiler features
fef3106c
NB
201
202Wdiv-by-zero
203C ObjC
5a170a05 204Warn about compile-time integer division by zero
fef3106c
NB
205
206Weffc++
207C++ ObjC++
bae92bf3 208Warn about violations of Effective C++ style rules
fef3106c
NB
209
210Wendif-labels
211C ObjC C++ ObjC++
72de27ea 212Warn about stray tokens after #elif and #endif
fef3106c
NB
213
214Werror
215C ObjC C++ ObjC++
72de27ea 216; Documented in common.opt
fef3106c
NB
217
218Werror-implicit-function-declaration
c83857ff 219C ObjC RejectNegative
5a170a05 220Make implicit function declarations an error
fef3106c
NB
221
222Wfloat-equal
223C ObjC C++ ObjC++
5a170a05 224Warn if testing floating point numbers for equality
fef3106c
NB
225
226Wformat
227C ObjC C++ ObjC++
5a170a05 228Warn about printf/scanf/strftime/strfmon format string anomalies
fef3106c
NB
229
230Wformat-extra-args
231C ObjC C++ ObjC++
5a170a05 232Warn if passing too many arguments to a function for its format string
fef3106c
NB
233
234Wformat-nonliteral
235C ObjC C++ ObjC++
5a170a05 236Warn about format strings that are not literals
fef3106c
NB
237
238Wformat-security
239C ObjC C++ ObjC++
5a170a05 240Warn about possible security problems with format functions
fef3106c
NB
241
242Wformat-y2k
243C ObjC C++ ObjC++
5a170a05 244Warn about strftime formats yielding 2-digit years
fef3106c
NB
245
246Wformat-zero-length
247C ObjC
248
249Wformat=
250C ObjC C++ ObjC++ Joined
251
3390f9c9
AP
252Winit-self
253C ObjC C++ ObjC++
254Warn about variables which are initialized to themselves.
255
fef3106c
NB
256Wimplicit
257C ObjC C++ ObjC++
258
259Wimplicit-function-declaration
260C ObjC
5a170a05 261Warn about implicit function declarations
fef3106c
NB
262
263Wimplicit-int
264C ObjC
5a170a05 265Warn when a declaration does not specify a type
fef3106c
NB
266
267Wimport
268C ObjC C++ ObjC++
bf42e45b 269Deprecated. This switch has no effect.
fef3106c
NB
270
271Winvalid-offsetof
272C++ ObjC++
bae92bf3 273Warn about invalid uses of the \"offsetof\" macro
fef3106c
NB
274
275Winvalid-pch
276C ObjC C++ ObjC++
5a170a05 277Warn about PCH files that are found but not used
fef3106c
NB
278
279Wlong-long
280C ObjC C++ ObjC++
5a170a05 281Do not warn about using \"long long\" when -pedantic
fef3106c
NB
282
283Wmain
284C ObjC
5a170a05 285Warn about suspicious declarations of \"main\"
fef3106c
NB
286
287Wmissing-braces
288C ObjC C++ ObjC++
5a170a05 289Warn about possibly missing braces around initializers
fef3106c
NB
290
291Wmissing-declarations
292C ObjC
5a170a05 293Warn about global functions without previous declarations
fef3106c
NB
294
295Wmissing-format-attribute
296C ObjC C++ ObjC++
5a170a05 297Warn about functions which might be candidates for format attributes
fef3106c 298
b02398bd
BE
299Wmissing-include-dirs
300C ObjC C++ ObjC++
301Warn about user-specified include directories that do not exist
302
fef3106c
NB
303Wmissing-prototypes
304C ObjC
5a170a05 305Warn about global functions without prototypes
fef3106c
NB
306
307Wmultichar
308C ObjC C++ ObjC++
5a170a05 309Warn about use of multi-character character constants
fef3106c
NB
310
311Wnested-externs
312C ObjC
5a170a05 313Warn about \"extern\" declarations not at file scope
fef3106c
NB
314
315Wnon-template-friend
316C++ ObjC++
bae92bf3 317Warn when non-templatized friend functions are declared within a template
fef3106c
NB
318
319Wnon-virtual-dtor
320C++ ObjC++
bae92bf3 321Warn about non-virtual destructors
fef3106c
NB
322
323Wnonnull
324C ObjC
325
326Wold-style-cast
327C++ ObjC++
bae92bf3 328Warn if a C-style cast is used in a program
fef3106c 329
c034f121
AJ
330Wold-style-definition
331C ObjC
332Warn if an old-style parameter definition is used
333
fef3106c
NB
334Woverloaded-virtual
335C++ ObjC++
bae92bf3 336Warn about overloaded virtual function names
fef3106c
NB
337
338Wparentheses
339C ObjC C++ ObjC++
5a170a05 340Warn about possibly missing parentheses
fef3106c
NB
341
342Wpmf-conversions
343C++ ObjC++
bae92bf3 344Warn when converting the type of pointers to member functions
fef3106c
NB
345
346Wpointer-arith
347C ObjC C++ ObjC++
5a170a05 348Warn about function pointer arithmetic
fef3106c
NB
349
350Wprotocol
351ObjC ObjC++
f2ac9964 352Warn if inherited methods are unimplemented
fef3106c
NB
353
354Wredundant-decls
355C ObjC C++ ObjC++
5a170a05 356Warn about multiple declarations of the same object
fef3106c
NB
357
358Wreorder
359C++ ObjC++
bae92bf3 360Warn when the compiler reorders code
fef3106c
NB
361
362Wreturn-type
363C ObjC C++ ObjC++
bae92bf3 364Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)
fef3106c
NB
365
366Wselector
367ObjC ObjC++
f2ac9964 368Warn if a selector has multiple methods
fef3106c
NB
369
370Wsequence-point
371C ObjC
5a170a05 372Warn about possible violations of sequence point rules
fef3106c
NB
373
374Wsign-compare
375C ObjC C++ ObjC++
5a170a05 376Warn about signed-unsigned comparisons
fef3106c
NB
377
378Wsign-promo
379C++ ObjC++
bae92bf3 380Warn when overload promotes from unsigned to signed
fef3106c
NB
381
382Wstrict-prototypes
383C ObjC
5a170a05 384Warn about unprototyped function declarations
fef3106c
NB
385
386Wsynth
387C++ ObjC++
bae92bf3 388Warn when synthesis behavior differs from Cfront
fef3106c
NB
389
390Wsystem-headers
391C ObjC C++ ObjC++
72de27ea 392Do not suppress warnings from system headers
fef3106c
NB
393
394Wtraditional
395C ObjC
72de27ea 396Warn about features not present in traditional C
fef3106c
NB
397
398Wtrigraphs
399C ObjC C++ ObjC++
72de27ea 400Warn if trigraphs are encountered that might affect the meaning of the program
fef3106c
NB
401
402Wundeclared-selector
403ObjC ObjC++
404
405Wundef
406C ObjC C++ ObjC++
72de27ea 407Warn if an undefined macro is used in an #if directive
fef3106c
NB
408
409Wunknown-pragmas
410C ObjC C++ ObjC++
5a170a05 411Warn about unrecognized pragmas
fef3106c
NB
412
413Wunused-macros
414C ObjC C++ ObjC++
72de27ea 415Warn about macros defined in the main file that are not used
fef3106c 416
e5b79219
RH
417Wvariadic-macros
418C ObjC C++ ObjC++
419Do not warn about using variadic macros when -pedantic
420
fef3106c
NB
421Wwrite-strings
422C ObjC C++ ObjC++
5a170a05 423Give strings the type \"array of char\"
fef3106c
NB
424
425ansi
426C ObjC C++ ObjC++
5a170a05 427A synonym for -std=c89. In a future version of GCC it will become synonymous with -std=c99 instead
fef3106c
NB
428
429d
430C ObjC C++ ObjC++ Joined
72de27ea 431; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD?
fef3106c 432
fef3106c
NB
433faccess-control
434C++ ObjC++
bae92bf3 435Enforce class member access control semantics
fef3106c
NB
436
437fall-virtual
438C++ ObjC++
439
440falt-external-templates
441C++ ObjC++
bae92bf3 442Change when template instances are emitted
fef3106c
NB
443
444fasm
445C ObjC C++ ObjC++
5a170a05 446Recognize the \"asm\" keyword
fef3106c
NB
447
448fbuiltin
449C ObjC C++ ObjC++
5a170a05 450Recognize built-in functions
fef3106c
NB
451
452fbuiltin-
453C ObjC C++ ObjC++ Joined
454
455fcheck-new
456C++ ObjC++
bae92bf3 457Check the return value of new
fef3106c
NB
458
459fcond-mismatch
460C ObjC C++ ObjC++
5a170a05 461Allow the arguments of the '?' operator to have different types
fef3106c
NB
462
463fconserve-space
464C++ ObjC++
bae92bf3 465Reduce the size of object files
fef3106c
NB
466
467fconst-strings
468C++ ObjC++
bae92bf3 469Make string literals \"const char[]\" not \"char[]\"
fef3106c
NB
470
471fconstant-string-class=
472ObjC ObjC++ Joined
f2ac9964 473-fconst-string-class=<name> Use class <name> for constant strings
fef3106c
NB
474
475fdefault-inline
476C++ ObjC++
bae92bf3 477Inline member functions by default
fef3106c
NB
478
479fdollars-in-identifiers
480C ObjC C++ ObjC++
72de27ea 481Permit '$' as an identifier character
fef3106c 482
fef3106c
NB
483felide-constructors
484C++ ObjC++
485
486fenforce-eh-specs
487C++ ObjC++
bae92bf3 488Generate code to check exception specifications
fef3106c
NB
489
490fenum-int-equiv
491C++ ObjC++
492
e6cc3a24
ZW
493fexec-charset=
494C ObjC C++ ObjC++ Joined RejectNegative
72de27ea 495-fexec-charset=<cset> Convert all strings and character constants to character set <cset>
e6cc3a24 496
16dd5cfe
EC
497finput-charset=
498C ObjC C++ ObjC++ Joined RejectNegative
499-finput-charset=<cset> Specify the default character set for source files.
500
501
fef3106c
NB
502fexternal-templates
503C++ ObjC++
504
505ffixed-form
506C ObjC
507
508ffixed-line-length-
509C ObjC Joined
510
511ffor-scope
512C++ ObjC++
bae92bf3 513Scope of for-init-statement variables is local to the loop
fef3106c
NB
514
515ffreestanding
516C ObjC
5a170a05 517Do not assume that standard C libraries and \"main\" exist
fef3106c
NB
518
519fgnu-keywords
520C++ ObjC++
bae92bf3 521Recognize GNU-defined keywords
fef3106c
NB
522
523fgnu-runtime
524ObjC ObjC++
f2ac9964 525Generate code for GNU runtime environment
fef3106c
NB
526
527fguiding-decls
528C++ ObjC++
529
530fhandle-exceptions
531C++ ObjC++
532
533fhonor-std
534C++ ObjC++
535
536fhosted
537C ObjC
5a170a05 538Assume normal C execution environment
fef3106c
NB
539
540fhuge-objects
541C++ ObjC++
bae92bf3 542Enable support for huge objects
fef3106c
NB
543
544fimplement-inlines
545C++ ObjC++
bae92bf3 546Export functions even if they can be inlined
fef3106c
NB
547
548fimplicit-inline-templates
549C++ ObjC++
bae92bf3 550Emit implicit instantiations of inline templates
fef3106c
NB
551
552fimplicit-templates
553C++ ObjC++
bae92bf3 554Emit implicit instantiations of templates
fef3106c
NB
555
556flabels-ok
557C++ ObjC++
558
559fms-extensions
560C ObjC C++ ObjC++
bae92bf3 561Don't warn about uses of Microsoft extensions
fef3106c
NB
562
563fname-mangling-version-
564C++ ObjC++ Joined
565
566fnew-abi
567C++ ObjC++
568
569fnext-runtime
570ObjC ObjC++
264fa2db
ZL
571Generate code for NeXT (Apple Mac OS X) runtime environment
572
573fnil-receivers
574ObjC ObjC++
575Assume that receivers of Objective-C messages may be nil
fef3106c
NB
576
577fnonansi-builtins
578C++ ObjC++
579
580fnonnull-objects
581C++ ObjC++
582
264fa2db
ZL
583fobjc-exceptions
584ObjC ObjC++
585Enable Objective-C exception and synchronization syntax
586
fef3106c
NB
587foperator-names
588C++ ObjC++
bae92bf3 589Recognize C++ kewords like \"compl\" and \"xor\"
fef3106c
NB
590
591foptional-diags
592C++ ObjC++
bae92bf3 593Enable optional diagnostics
fef3106c
NB
594
595fpch-deps
596C ObjC C++ ObjC++
597
598fpermissive
599C++ ObjC++
bae92bf3 600Downgrade conformance errors to warnings
fef3106c
NB
601
602fpreprocessed
603C ObjC C++ ObjC++
72de27ea 604Treat the input file as already preprocessed
fef3106c 605
264fa2db
ZL
606freplace-objc-classes
607ObjC ObjC++
608Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime
609
fef3106c
NB
610frepo
611C++ ObjC++
bae92bf3 612Enable automatic template instantiation
fef3106c
NB
613
614frtti
615C++ ObjC++
bae92bf3 616Generate run time type descriptor information
fef3106c
NB
617
618fshort-double
619C ObjC C++ ObjC++
5a170a05 620Use the same size for double as for float
fef3106c
NB
621
622fshort-enums
623C ObjC C++ ObjC++
5a170a05 624Use the narrowest integer type possible for enumeration types
fef3106c
NB
625
626fshort-wchar
627C ObjC C++ ObjC++
5a170a05 628Force the underlying type for \"wchar_t\" to be \"unsigned short\"
fef3106c
NB
629
630fshow-column
631C ObjC C++ ObjC++
632
633fsigned-bitfields
634C ObjC C++ ObjC++
5a170a05 635When \"signed\" or \"unsigned\" is not given make the bitfield signed
fef3106c
NB
636
637fsigned-char
638C ObjC C++ ObjC++
5a170a05 639Make \"char\" signed by default
fef3106c
NB
640
641fsquangle
642C++ ObjC++
643
644fstats
645C++ ObjC++
bae92bf3 646Display statistics accumulated during compilation
fef3106c
NB
647
648fstrict-prototype
649C++ ObjC++
650
651ftabstop=
7b086b11 652C ObjC C++ ObjC++ Joined RejectNegative UInteger
72de27ea 653-ftabstop=<number> Distance between tab stops for column reporting
fef3106c
NB
654
655ftemplate-depth-
7b086b11 656C++ ObjC++ Joined RejectNegative UInteger
bae92bf3 657-ftemplate-depth-<number> Specify maximum template instantiation depth
fef3106c
NB
658
659fthis-is-variable
660C++ ObjC++
661
662funsigned-bitfields
663C ObjC C++ ObjC++
5a170a05 664When \"signed\" or \"unsigned\" is not given make the bitfield unsigned
fef3106c
NB
665
666funsigned-char
667C ObjC C++ ObjC++
5a170a05 668Make \"char\" unsigned by default
fef3106c
NB
669
670fuse-cxa-atexit
671C++ ObjC++
bae92bf3 672Use __cxa_atexit to register destructors
fef3106c
NB
673
674fvtable-gc
675C++ ObjC++
bae92bf3 676Discard unused virtual functions
fef3106c
NB
677
678fvtable-thunks
679C++ ObjC++
bae92bf3 680Implement vtables using thunks
fef3106c
NB
681
682fweak
683C++ ObjC++
bae92bf3 684Emit common-like symbols as weak symbols
fef3106c 685
e6cc3a24
ZW
686fwide-exec-charset=
687C ObjC C++ ObjC++ Joined RejectNegative
72de27ea 688-fwide-exec-charset=<cset> Convert all wide strings and character constants to character set <cset>
e6cc3a24 689
b20d9f0c
AO
690fworking-directory
691C ObjC C++ ObjC++
692Generate a #line directive pointing at the current working directory
693
fef3106c
NB
694fxref
695C++ ObjC++
bae92bf3 696Emit cross referencing information
fef3106c 697
264fa2db
ZL
698fzero-link
699ObjC ObjC++
700Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode
701
fef3106c
NB
702gen-decls
703ObjC ObjC++
f2ac9964 704Dump declarations to a .decl file
fef3106c
NB
705
706idirafter
707C ObjC C++ ObjC++ Joined Separate
72de27ea 708-idirafter <dir> Add <dir> to the end of the system include path
fef3106c
NB
709
710imacros
711C ObjC C++ ObjC++ Joined Separate
72de27ea 712-imacros <file> Accept definition of macros in <file>
fef3106c
NB
713
714include
715C ObjC C++ ObjC++ Joined Separate
72de27ea 716-include <file> Include the contents of <file> before other files
fef3106c
NB
717
718iprefix
719C ObjC C++ ObjC++ Joined Separate
72de27ea 720-iprefix <path> Specify <path> as a prefix for next two options
fef3106c
NB
721
722isysroot
723C ObjC C++ ObjC++ Joined Separate
72de27ea 724-isysroot <dir> Set <dir> to be the system root directory
fef3106c
NB
725
726isystem
727C ObjC C++ ObjC++ Joined Separate
72de27ea 728-isystem <dir> Add <dir> to the start of the system include path
fef3106c 729
4bed3787
MS
730iquote
731C ObjC C++ ObjC++ Joined Separate
732-iquote <dir> Add <dir> to the end of the quote include path
733
fef3106c
NB
734iwithprefix
735C ObjC C++ ObjC++ Joined Separate
72de27ea 736-iwithprefix <dir> Add <dir> to the end of the system include path
fef3106c
NB
737
738iwithprefixbefore
739C ObjC C++ ObjC++ Joined Separate
72de27ea 740-iwithprefixbefore <dir> Add <dir> to the end of the main include path
fef3106c
NB
741
742lang-asm
f2ac9964 743C Undocumented
fef3106c
NB
744
745lang-objc
f2ac9964 746C ObjC C++ ObjC++ Undocumented
fef3106c
NB
747
748nostdinc
749C ObjC C++ ObjC++
72de27ea 750Do not search standard system include directories (those specified with -isystem will still be used)
fef3106c
NB
751
752nostdinc++
72de27ea
NB
753C++ ObjC++
754Do not search standard system include directories for C++
fef3106c
NB
755
756o
757C ObjC C++ ObjC++ Joined Separate
72de27ea 758; Documented in common.opt
fef3106c
NB
759
760pedantic
761C ObjC C++ ObjC++
72de27ea 762; Documented in common.opt
fef3106c
NB
763
764pedantic-errors
765C ObjC C++ ObjC++
72de27ea 766; Documented in common.opt
fef3106c
NB
767
768print-objc-runtime-info
769ObjC ObjC++
f2ac9964 770Generate C header of platform-specific features
fef3106c
NB
771
772remap
773C ObjC C++ ObjC++
72de27ea 774Remap file names when including files
fef3106c
NB
775
776std=c++98
777C++ ObjC++
72de27ea 778Conform to the ISO 1998 C++ standard
fef3106c
NB
779
780std=c89
781C ObjC
72de27ea 782Conform to the ISO 1990 C standard
fef3106c
NB
783
784std=c99
785C ObjC
72de27ea 786Conform to the ISO 1999 C standard
fef3106c
NB
787
788std=c9x
789C ObjC
72de27ea 790Deprecated in favor of -std=c99
fef3106c
NB
791
792std=gnu++98
793C++ ObjC++
72de27ea 794Conform to the ISO 1998 C++ standard with GNU extensions
fef3106c
NB
795
796std=gnu89
797C ObjC
72de27ea 798Conform to the ISO 1990 C standard with GNU extensions
fef3106c
NB
799
800std=gnu99
801C ObjC
72de27ea 802Conform to the ISO 1999 C standard with GNU extensions
fef3106c
NB
803
804std=gnu9x
805C ObjC
72de27ea 806Deprecated in favor of -std=gnu99
fef3106c
NB
807
808std=iso9899:1990
809C ObjC
72de27ea 810Deprecated in favor of -std=c89
fef3106c
NB
811
812std=iso9899:199409
813C ObjC
72de27ea 814Conform to the ISO 1990 C standard as amended in 1994
fef3106c
NB
815
816std=iso9899:1999
817C ObjC
72de27ea 818Deprecated in favor of -std=c99
fef3106c
NB
819
820std=iso9899:199x
821C ObjC
72de27ea 822Deprecated in favor of -std=c99
fef3106c
NB
823
824traditional-cpp
825C ObjC C++ ObjC++
72de27ea 826Enable traditional preprocessing
fef3106c
NB
827
828trigraphs
829C ObjC C++ ObjC++
72de27ea 830-trigraphs Support ISO C trigraphs
fef3106c
NB
831
832undef
833C ObjC C++ ObjC++
72de27ea 834Do not predefine system-specific and GCC-specific macros
fef3106c
NB
835
836v
837C ObjC C++ ObjC++
72de27ea 838Enable verbose output
fef3106c
NB
839
840w
841C ObjC C++ ObjC++
72de27ea 842; Documented in common.opt
e11a4ae5
NB
843
844; This comment is to ensure we retain the blank line above.