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