]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c.opt
acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Put down the crack pipe...
[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
241Wimplicit
242C ObjC C++ ObjC++
243
244Wimplicit-function-declaration
245C ObjC
5a170a05 246Warn about implicit function declarations
fef3106c
NB
247
248Wimplicit-int
249C ObjC
5a170a05 250Warn when a declaration does not specify a type
fef3106c
NB
251
252Wimport
253C ObjC C++ ObjC++
bf42e45b 254Deprecated. This switch has no effect.
fef3106c
NB
255
256Winvalid-offsetof
257C++ ObjC++
bae92bf3 258Warn about invalid uses of the \"offsetof\" macro
fef3106c
NB
259
260Winvalid-pch
261C ObjC C++ ObjC++
5a170a05 262Warn about PCH files that are found but not used
fef3106c
NB
263
264Wlong-long
265C ObjC C++ ObjC++
5a170a05 266Do not warn about using \"long long\" when -pedantic
fef3106c
NB
267
268Wmain
269C ObjC
5a170a05 270Warn about suspicious declarations of \"main\"
fef3106c
NB
271
272Wmissing-braces
273C ObjC C++ ObjC++
5a170a05 274Warn about possibly missing braces around initializers
fef3106c
NB
275
276Wmissing-declarations
277C ObjC
5a170a05 278Warn about global functions without previous declarations
fef3106c
NB
279
280Wmissing-format-attribute
281C ObjC C++ ObjC++
5a170a05 282Warn about functions which might be candidates for format attributes
fef3106c
NB
283
284Wmissing-prototypes
285C ObjC
5a170a05 286Warn about global functions without prototypes
fef3106c
NB
287
288Wmultichar
289C ObjC C++ ObjC++
5a170a05 290Warn about use of multi-character character constants
fef3106c
NB
291
292Wnested-externs
293C ObjC
5a170a05 294Warn about \"extern\" declarations not at file scope
fef3106c
NB
295
296Wnon-template-friend
297C++ ObjC++
bae92bf3 298Warn when non-templatized friend functions are declared within a template
fef3106c
NB
299
300Wnon-virtual-dtor
301C++ ObjC++
bae92bf3 302Warn about non-virtual destructors
fef3106c
NB
303
304Wnonnull
305C ObjC
306
307Wold-style-cast
308C++ ObjC++
bae92bf3 309Warn if a C-style cast is used in a program
fef3106c
NB
310
311Woverloaded-virtual
312C++ ObjC++
bae92bf3 313Warn about overloaded virtual function names
fef3106c
NB
314
315Wparentheses
316C ObjC C++ ObjC++
5a170a05 317Warn about possibly missing parentheses
fef3106c
NB
318
319Wpmf-conversions
320C++ ObjC++
bae92bf3 321Warn when converting the type of pointers to member functions
fef3106c
NB
322
323Wpointer-arith
324C ObjC C++ ObjC++
5a170a05 325Warn about function pointer arithmetic
fef3106c
NB
326
327Wprotocol
328ObjC ObjC++
f2ac9964 329Warn if inherited methods are unimplemented
fef3106c
NB
330
331Wredundant-decls
332C ObjC C++ ObjC++
5a170a05 333Warn about multiple declarations of the same object
fef3106c
NB
334
335Wreorder
336C++ ObjC++
bae92bf3 337Warn when the compiler reorders code
fef3106c
NB
338
339Wreturn-type
340C ObjC C++ ObjC++
bae92bf3 341Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)
fef3106c
NB
342
343Wselector
344ObjC ObjC++
f2ac9964 345Warn if a selector has multiple methods
fef3106c
NB
346
347Wsequence-point
348C ObjC
5a170a05 349Warn about possible violations of sequence point rules
fef3106c
NB
350
351Wsign-compare
352C ObjC C++ ObjC++
5a170a05 353Warn about signed-unsigned comparisons
fef3106c
NB
354
355Wsign-promo
356C++ ObjC++
bae92bf3 357Warn when overload promotes from unsigned to signed
fef3106c
NB
358
359Wstrict-prototypes
360C ObjC
5a170a05 361Warn about unprototyped function declarations
fef3106c
NB
362
363Wsynth
364C++ ObjC++
bae92bf3 365Warn when synthesis behavior differs from Cfront
fef3106c
NB
366
367Wsystem-headers
368C ObjC C++ ObjC++
72de27ea 369Do not suppress warnings from system headers
fef3106c
NB
370
371Wtraditional
372C ObjC
72de27ea 373Warn about features not present in traditional C
fef3106c
NB
374
375Wtrigraphs
376C ObjC C++ ObjC++
72de27ea 377Warn if trigraphs are encountered that might affect the meaning of the program
fef3106c
NB
378
379Wundeclared-selector
380ObjC ObjC++
381
382Wundef
383C ObjC C++ ObjC++
72de27ea 384Warn if an undefined macro is used in an #if directive
fef3106c
NB
385
386Wunknown-pragmas
387C ObjC C++ ObjC++
5a170a05 388Warn about unrecognized pragmas
fef3106c
NB
389
390Wunused-macros
391C ObjC C++ ObjC++
72de27ea 392Warn about macros defined in the main file that are not used
fef3106c
NB
393
394Wwrite-strings
395C ObjC C++ ObjC++
5a170a05 396Give strings the type \"array of char\"
fef3106c
NB
397
398ansi
399C ObjC C++ ObjC++
5a170a05 400A synonym for -std=c89. In a future version of GCC it will become synonymous with -std=c99 instead
fef3106c
NB
401
402d
403C ObjC C++ ObjC++ Joined
72de27ea 404; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD?
fef3106c
NB
405
406fabi-version=
7b086b11 407C++ ObjC++ Joined UInteger
fef3106c
NB
408
409faccess-control
410C++ ObjC++
bae92bf3 411Enforce class member access control semantics
fef3106c
NB
412
413fall-virtual
414C++ ObjC++
415
416falt-external-templates
417C++ ObjC++
bae92bf3 418Change when template instances are emitted
fef3106c
NB
419
420fasm
421C ObjC C++ ObjC++
5a170a05 422Recognize the \"asm\" keyword
fef3106c
NB
423
424fbuiltin
425C ObjC C++ ObjC++
5a170a05 426Recognize built-in functions
fef3106c
NB
427
428fbuiltin-
429C ObjC C++ ObjC++ Joined
430
431fcheck-new
432C++ ObjC++
bae92bf3 433Check the return value of new
fef3106c
NB
434
435fcond-mismatch
436C ObjC C++ ObjC++
5a170a05 437Allow the arguments of the '?' operator to have different types
fef3106c
NB
438
439fconserve-space
440C++ ObjC++
bae92bf3 441Reduce the size of object files
fef3106c
NB
442
443fconst-strings
444C++ ObjC++
bae92bf3 445Make string literals \"const char[]\" not \"char[]\"
fef3106c
NB
446
447fconstant-string-class=
448ObjC ObjC++ Joined
f2ac9964 449-fconst-string-class=<name> Use class <name> for constant strings
fef3106c
NB
450
451fdefault-inline
452C++ ObjC++
bae92bf3 453Inline member functions by default
fef3106c
NB
454
455fdollars-in-identifiers
456C ObjC C++ ObjC++
72de27ea 457Permit '$' as an identifier character
fef3106c
NB
458
459fdump-
c83857ff 460C ObjC C++ ObjC++ Joined RejectNegative
bae92bf3 461-fdump-<type> Dump various compiler internals to a file
fef3106c
NB
462
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
fef3106c
NB
477fexternal-templates
478C++ ObjC++
479
480ffixed-form
481C ObjC
482
483ffixed-line-length-
484C ObjC Joined
485
486ffor-scope
487C++ ObjC++
bae92bf3 488Scope of for-init-statement variables is local to the loop
fef3106c
NB
489
490ffreestanding
491C ObjC
5a170a05 492Do not assume that standard C libraries and \"main\" exist
fef3106c
NB
493
494fgnu-keywords
495C++ ObjC++
bae92bf3 496Recognize GNU-defined keywords
fef3106c
NB
497
498fgnu-runtime
499ObjC ObjC++
f2ac9964 500Generate code for GNU runtime environment
fef3106c
NB
501
502fguiding-decls
503C++ ObjC++
504
505fhandle-exceptions
506C++ ObjC++
507
508fhonor-std
509C++ ObjC++
510
511fhosted
512C ObjC
5a170a05 513Assume normal C execution environment
fef3106c
NB
514
515fhuge-objects
516C++ ObjC++
bae92bf3 517Enable support for huge objects
fef3106c
NB
518
519fimplement-inlines
520C++ ObjC++
bae92bf3 521Export functions even if they can be inlined
fef3106c
NB
522
523fimplicit-inline-templates
524C++ ObjC++
bae92bf3 525Emit implicit instantiations of inline templates
fef3106c
NB
526
527fimplicit-templates
528C++ ObjC++
bae92bf3 529Emit implicit instantiations of templates
fef3106c
NB
530
531flabels-ok
532C++ ObjC++
533
534fms-extensions
535C ObjC C++ ObjC++
bae92bf3 536Don't warn about uses of Microsoft extensions
fef3106c
NB
537
538fname-mangling-version-
539C++ ObjC++ Joined
540
541fnew-abi
542C++ ObjC++
543
544fnext-runtime
545ObjC ObjC++
f2ac9964 546Generate code for NeXT runtime environment
fef3106c
NB
547
548fnonansi-builtins
549C++ ObjC++
550
551fnonnull-objects
552C++ ObjC++
553
554foperator-names
555C++ ObjC++
bae92bf3 556Recognize C++ kewords like \"compl\" and \"xor\"
fef3106c
NB
557
558foptional-diags
559C++ ObjC++
bae92bf3 560Enable optional diagnostics
fef3106c
NB
561
562fpch-deps
563C ObjC C++ ObjC++
564
565fpermissive
566C++ ObjC++
bae92bf3 567Downgrade conformance errors to warnings
fef3106c
NB
568
569fpreprocessed
570C ObjC C++ ObjC++
72de27ea 571Treat the input file as already preprocessed
fef3106c
NB
572
573frepo
574C++ ObjC++
bae92bf3 575Enable automatic template instantiation
fef3106c
NB
576
577frtti
578C++ ObjC++
bae92bf3 579Generate run time type descriptor information
fef3106c
NB
580
581fshort-double
582C ObjC C++ ObjC++
5a170a05 583Use the same size for double as for float
fef3106c
NB
584
585fshort-enums
586C ObjC C++ ObjC++
5a170a05 587Use the narrowest integer type possible for enumeration types
fef3106c
NB
588
589fshort-wchar
590C ObjC C++ ObjC++
5a170a05 591Force the underlying type for \"wchar_t\" to be \"unsigned short\"
fef3106c
NB
592
593fshow-column
594C ObjC C++ ObjC++
595
596fsigned-bitfields
597C ObjC C++ ObjC++
5a170a05 598When \"signed\" or \"unsigned\" is not given make the bitfield signed
fef3106c
NB
599
600fsigned-char
601C ObjC C++ ObjC++
5a170a05 602Make \"char\" signed by default
fef3106c
NB
603
604fsquangle
605C++ ObjC++
606
607fstats
608C++ ObjC++
bae92bf3 609Display statistics accumulated during compilation
fef3106c
NB
610
611fstrict-prototype
612C++ ObjC++
613
614ftabstop=
7b086b11 615C ObjC C++ ObjC++ Joined RejectNegative UInteger
72de27ea 616-ftabstop=<number> Distance between tab stops for column reporting
fef3106c
NB
617
618ftemplate-depth-
7b086b11 619C++ ObjC++ Joined RejectNegative UInteger
bae92bf3 620-ftemplate-depth-<number> Specify maximum template instantiation depth
fef3106c
NB
621
622fthis-is-variable
623C++ ObjC++
624
625funsigned-bitfields
626C ObjC C++ ObjC++
5a170a05 627When \"signed\" or \"unsigned\" is not given make the bitfield unsigned
fef3106c
NB
628
629funsigned-char
630C ObjC C++ ObjC++
5a170a05 631Make \"char\" unsigned by default
fef3106c
NB
632
633fuse-cxa-atexit
634C++ ObjC++
bae92bf3 635Use __cxa_atexit to register destructors
fef3106c
NB
636
637fvtable-gc
638C++ ObjC++
bae92bf3 639Discard unused virtual functions
fef3106c
NB
640
641fvtable-thunks
642C++ ObjC++
bae92bf3 643Implement vtables using thunks
fef3106c
NB
644
645fweak
646C++ ObjC++
bae92bf3 647Emit common-like symbols as weak symbols
fef3106c 648
e6cc3a24
ZW
649fwide-exec-charset=
650C ObjC C++ ObjC++ Joined RejectNegative
72de27ea 651-fwide-exec-charset=<cset> Convert all wide strings and character constants to character set <cset>
e6cc3a24 652
fef3106c
NB
653fxref
654C++ ObjC++
bae92bf3 655Emit cross referencing information
fef3106c
NB
656
657gen-decls
658ObjC ObjC++
f2ac9964 659Dump declarations to a .decl file
fef3106c
NB
660
661idirafter
662C ObjC C++ ObjC++ Joined Separate
72de27ea 663-idirafter <dir> Add <dir> to the end of the system include path
fef3106c
NB
664
665imacros
666C ObjC C++ ObjC++ Joined Separate
72de27ea 667-imacros <file> Accept definition of macros in <file>
fef3106c
NB
668
669include
670C ObjC C++ ObjC++ Joined Separate
72de27ea 671-include <file> Include the contents of <file> before other files
fef3106c
NB
672
673iprefix
674C ObjC C++ ObjC++ Joined Separate
72de27ea 675-iprefix <path> Specify <path> as a prefix for next two options
fef3106c
NB
676
677isysroot
678C ObjC C++ ObjC++ Joined Separate
72de27ea 679-isysroot <dir> Set <dir> to be the system root directory
fef3106c
NB
680
681isystem
682C ObjC C++ ObjC++ Joined Separate
72de27ea 683-isystem <dir> Add <dir> to the start of the system include path
fef3106c
NB
684
685iwithprefix
686C ObjC C++ ObjC++ Joined Separate
72de27ea 687-iwithprefix <dir> Add <dir> to the end of the system include path
fef3106c
NB
688
689iwithprefixbefore
690C ObjC C++ ObjC++ Joined Separate
72de27ea 691-iwithprefixbefore <dir> Add <dir> to the end of the main include path
fef3106c
NB
692
693lang-asm
f2ac9964 694C Undocumented
fef3106c
NB
695
696lang-objc
f2ac9964 697C ObjC C++ ObjC++ Undocumented
fef3106c
NB
698
699nostdinc
700C ObjC C++ ObjC++
72de27ea 701Do not search standard system include directories (those specified with -isystem will still be used)
fef3106c
NB
702
703nostdinc++
72de27ea
NB
704C++ ObjC++
705Do not search standard system include directories for C++
fef3106c
NB
706
707o
708C ObjC C++ ObjC++ Joined Separate
72de27ea 709; Documented in common.opt
fef3106c
NB
710
711pedantic
712C ObjC C++ ObjC++
72de27ea 713; Documented in common.opt
fef3106c
NB
714
715pedantic-errors
716C ObjC C++ ObjC++
72de27ea 717; Documented in common.opt
fef3106c
NB
718
719print-objc-runtime-info
720ObjC ObjC++
f2ac9964 721Generate C header of platform-specific features
fef3106c
NB
722
723remap
724C ObjC C++ ObjC++
72de27ea 725Remap file names when including files
fef3106c
NB
726
727std=c++98
728C++ ObjC++
72de27ea 729Conform to the ISO 1998 C++ standard
fef3106c
NB
730
731std=c89
732C ObjC
72de27ea 733Conform to the ISO 1990 C standard
fef3106c
NB
734
735std=c99
736C ObjC
72de27ea 737Conform to the ISO 1999 C standard
fef3106c
NB
738
739std=c9x
740C ObjC
72de27ea 741Deprecated in favor of -std=c99
fef3106c
NB
742
743std=gnu++98
744C++ ObjC++
72de27ea 745Conform to the ISO 1998 C++ standard with GNU extensions
fef3106c
NB
746
747std=gnu89
748C ObjC
72de27ea 749Conform to the ISO 1990 C standard with GNU extensions
fef3106c
NB
750
751std=gnu99
752C ObjC
72de27ea 753Conform to the ISO 1999 C standard with GNU extensions
fef3106c
NB
754
755std=gnu9x
756C ObjC
72de27ea 757Deprecated in favor of -std=gnu99
fef3106c
NB
758
759std=iso9899:1990
760C ObjC
72de27ea 761Deprecated in favor of -std=c89
fef3106c
NB
762
763std=iso9899:199409
764C ObjC
72de27ea 765Conform to the ISO 1990 C standard as amended in 1994
fef3106c
NB
766
767std=iso9899:1999
768C ObjC
72de27ea 769Deprecated in favor of -std=c99
fef3106c
NB
770
771std=iso9899:199x
772C ObjC
72de27ea 773Deprecated in favor of -std=c99
fef3106c
NB
774
775traditional-cpp
776C ObjC C++ ObjC++
72de27ea 777Enable traditional preprocessing
fef3106c
NB
778
779trigraphs
780C ObjC C++ ObjC++
72de27ea 781-trigraphs Support ISO C trigraphs
fef3106c
NB
782
783undef
784C ObjC C++ ObjC++
72de27ea 785Do not predefine system-specific and GCC-specific macros
fef3106c
NB
786
787v
788C ObjC C++ ObjC++
72de27ea 789Enable verbose output
fef3106c
NB
790
791w
792C ObjC C++ ObjC++
72de27ea 793; Documented in common.opt
e11a4ae5
NB
794
795; This comment is to ensure we retain the blank line above.