c.opt revision 132718
1132718Skan; Options for the C, ObjC, C++ and ObjC++ front ends.
2132718Skan; Copyright (C) 2003 Free Software Foundation, Inc.
3132718Skan;
4132718Skan; This file is part of GCC.
5132718Skan;
6132718Skan; GCC is free software; you can redistribute it and/or modify it under
7132718Skan; the terms of the GNU General Public License as published by the Free
8132718Skan; Software Foundation; either version 2, or (at your option) any later
9132718Skan; version.
10132718Skan; 
11132718Skan; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12132718Skan; WARRANTY; without even the implied warranty of MERCHANTABILITY or
13132718Skan; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14132718Skan; for more details.
15132718Skan; 
16132718Skan; You should have received a copy of the GNU General Public License
17132718Skan; along with GCC; see the file COPYING.  If not, write to the Free
18132718Skan; Software Foundation, 59 Temple Place - Suite 330, Boston, MA
19132718Skan; 02111-1307, USA.
20132718Skan
21132718Skan
22132718Skan; This file is processed by the script opts.sh.  It is a database of
23132718Skan; command line options, with each record separated by a blank line,
24132718Skan; and each field appearing on its own line.  The first field is the
25132718Skan; command-line switch with the leading "-" removed.  All options
26132718Skan; beginning with "f" or "W" are implicitly assumed to take a "no-"
27132718Skan; form; this form should not be listed.  If you do not want this
28132718Skan; negative form and you want it to be automatically rejected, add
29132718Skan; RejectNegative to the second field.
30132718Skan
31132718Skan; The second field is a space-separated list of which parts of the
32132718Skan; compiler recognize the switch, as declared by "Language" entries.
33132718Skan; If the switch takes an argument, then you should also specify
34132718Skan; "Joined" and/or "Separate" to indicate where the argument can
35132718Skan; appear.  If a Joined argument can legitimately be omitted, specify
36132718Skan; "JoinedOrMissing" instead of "Joined".  If the argument to a switch
37132718Skan; is a non-negative integer, you can specify "UInteger" and the switch
38132718Skan; decoder will convert the argument for you, or complain to the user
39132718Skan; if the argument is invalid.
40132718Skan
41132718Skan; The third field is the help text to output with --help.  This is
42132718Skan; automatically line-wrapped on output.  Normally the switch is output
43132718Skan; automatically, with the help text on the right hand side of the
44132718Skan; output.  However, if the help text contains a tab character, the
45132718Skan; text to the left of the tab is output instead of the switch, and the
46132718Skan; text to its right forms the help.  This is useful for elaborating on
47132718Skan; what type of argument a switch takes, for example.  If the second
48132718Skan; field contains "Undocumented" then nothing is output with --help.
49132718Skan; Only do this with good reason like the switch being internal between
50132718Skan; the driver and the front end - it is not an excuse to leave a switch
51132718Skan; undocumented.
52132718Skan
53132718Skan; Comments can appear on their own line anwhere in the file, preceded
54132718Skan; by a semicolon.  Whitespace is permitted before the semicolon.
55132718Skan
56132718Skan; For each switch XXX below, an enumeration constant is created by the
57132718Skan; script opts.sh spelt OPT_XXX, but with all non-alphanumeric
58132718Skan; characters replaced with an underscore.
59132718Skan
60132718Skan; Please try to keep this file in ASCII collating order.
61132718Skan
62132718SkanLanguage
63132718SkanC
64132718Skan
65132718SkanLanguage
66132718SkanObjC
67132718Skan
68132718SkanLanguage
69132718SkanC++
70132718Skan
71132718SkanLanguage
72132718SkanObjC++
73132718Skan
74132718Skan-output-pch=
75132718SkanC ObjC C++ ObjC++ Joined Separate
76132718Skan
77132718SkanA
78132718SkanC ObjC C++ ObjC++ Joined Separate
79132718Skan-A<question>=<answer>	Assert the <answer> to <question>.  Putting '-' before <question> disables the <answer> to <question>
80132718Skan
81132718SkanC
82132718SkanC ObjC C++ ObjC++
83132718SkanDo not discard comments
84132718Skan
85132718SkanCC
86132718SkanC ObjC C++ ObjC++
87132718SkanDo not discard comments in macro expansions
88132718Skan
89132718SkanD
90132718SkanC ObjC C++ ObjC++ Joined Separate
91132718Skan-D<macro>[=<val>]	Define a <macro> with <val> as its value.  If just <macro> is given, <val> is taken to be 1
92132718Skan
93132718SkanE
94132718SkanC ObjC C++ ObjC++ Undocumented
95132718Skan
96132718SkanH
97132718SkanC ObjC C++ ObjC++
98132718SkanPrint the name of header files as they are used
99132718Skan
100132718SkanI
101132718SkanC ObjC C++ ObjC++ Joined Separate
102132718Skan-I <dir>	Add <dir> to the end of the main include path.  -I- gives more include path control; see info documentation
103132718Skan
104132718SkanM
105132718SkanC ObjC C++ ObjC++
106132718SkanGenerate make dependencies
107132718Skan
108132718SkanMD
109132718SkanC ObjC C++ ObjC++ Separate
110132718SkanGenerate make dependencies and compile
111132718Skan
112132718SkanMF
113132718SkanC ObjC C++ ObjC++ Joined Separate
114132718Skan-MF <file>	Write dependency output to the given file
115132718Skan
116132718SkanMG
117132718SkanC ObjC C++ ObjC++
118132718SkanTreat missing header files as generated files
119132718Skan
120132718SkanMM
121132718SkanC ObjC C++ ObjC++
122132718SkanLike -M but ignore system header files
123132718Skan
124132718SkanMMD
125132718SkanC ObjC C++ ObjC++ Separate
126132718SkanLike -MD but ignore system header files
127132718Skan
128132718SkanMP
129132718SkanC ObjC C++ ObjC++
130132718SkanGenerate phony targets for all headers
131132718Skan
132132718SkanMQ
133132718SkanC ObjC C++ ObjC++ Joined Separate
134132718Skan-MQ <target>	Add a MAKE-quoted target
135132718Skan
136132718SkanMT
137132718SkanC ObjC C++ ObjC++ Joined Separate
138132718Skan-MT <target>	Add an unquoted target
139132718Skan
140132718SkanP
141132718SkanC ObjC C++ ObjC++
142132718SkanDo not generate #line directives
143132718Skan
144132718SkanU
145132718SkanC ObjC C++ ObjC++ Joined Separate
146132718Skan-U<macro>	Undefine <macro>
147132718Skan
148132718SkanWabi
149132718SkanC++ ObjC++
150132718Skan
151132718SkanWall
152132718SkanC ObjC C++ ObjC++
153132718SkanEnable most warning messages
154132718Skan
155132718SkanWbad-function-cast
156132718SkanC ObjC
157132718SkanWarn about casting functions to incompatible types
158132718Skan
159132718SkanWcast-qual
160132718SkanC ObjC C++ ObjC++
161132718SkanWarn about casts which discard qualifiers
162132718Skan
163132718SkanWchar-subscripts
164132718SkanC ObjC C++ ObjC++
165132718SkanWarn about subscripts whose type is \"char\"
166132718Skan
167132718SkanWcomment
168132718SkanC ObjC C++ ObjC++
169132718SkanWarn about possibly nested block comments, and C++ comments spanning more than one physical line
170132718Skan
171132718SkanWcomments
172132718SkanC ObjC C++ ObjC++
173132718SkanSynonym for -Wcomment
174132718Skan
175132718SkanWconversion
176132718SkanC ObjC C++ ObjC++
177132718SkanWarn about possibly confusing type conversions
178132718Skan
179132718SkanWctor-dtor-privacy
180132718SkanC++ ObjC++
181132718SkanWarn when all constructors and destructors are private
182132718Skan
183132718SkanWdeclaration-after-statement
184132718SkanC ObjC
185132718SkanWarn when a declaration is found after a statement
186132718Skan
187132718SkanWdeprecated
188132718SkanC++ ObjC++
189132718SkanWarn about deprecated compiler features
190132718Skan
191132718SkanWdiv-by-zero
192132718SkanC ObjC
193132718SkanWarn about compile-time integer division by zero
194132718Skan
195132718SkanWeffc++
196132718SkanC++ ObjC++
197132718SkanWarn about violations of Effective C++ style rules
198132718Skan
199132718SkanWendif-labels
200132718SkanC ObjC C++ ObjC++
201132718SkanWarn about stray tokens after #elif and #endif
202132718Skan
203132718SkanWerror
204132718SkanC ObjC C++ ObjC++
205132718Skan; Documented in common.opt
206132718Skan
207132718SkanWerror-implicit-function-declaration
208132718SkanC ObjC RejectNegative
209132718SkanMake implicit function declarations an error
210132718Skan
211132718SkanWfloat-equal
212132718SkanC ObjC C++ ObjC++
213132718SkanWarn if testing floating point numbers for equality
214132718Skan
215132718SkanWformat
216132718SkanC ObjC C++ ObjC++
217132718SkanWarn about printf/scanf/strftime/strfmon format string anomalies
218132718Skan
219132718SkanWformat-extra-args
220132718SkanC ObjC C++ ObjC++
221132718SkanWarn if passing too many arguments to a function for its format string
222132718Skan
223132718SkanWformat-nonliteral
224132718SkanC ObjC C++ ObjC++
225132718SkanWarn about format strings that are not literals
226132718Skan
227132718SkanWformat-security
228132718SkanC ObjC C++ ObjC++
229132718SkanWarn about possible security problems with format functions
230132718Skan
231132718SkanWformat-y2k
232132718SkanC ObjC C++ ObjC++
233132718SkanWarn about strftime formats yielding 2-digit years
234132718Skan
235132718SkanWformat-zero-length
236132718SkanC ObjC
237132718Skan
238132718SkanWformat=
239132718SkanC ObjC C++ ObjC++ Joined
240132718Skan
241132718SkanWinit-self
242132718SkanC ObjC C++ ObjC++
243132718SkanWarn about variables which are initialized to themselves.
244132718Skan
245132718SkanWimplicit
246132718SkanC ObjC C++ ObjC++
247132718Skan
248132718SkanWimplicit-function-declaration
249132718SkanC ObjC
250132718SkanWarn about implicit function declarations
251132718Skan
252132718SkanWimplicit-int
253132718SkanC ObjC
254132718SkanWarn when a declaration does not specify a type
255132718Skan
256132718SkanWimport
257132718SkanC ObjC C++ ObjC++
258132718SkanDeprecated.  This switch has no effect.
259132718Skan
260132718SkanWinvalid-offsetof
261132718SkanC++ ObjC++
262132718SkanWarn about invalid uses of the \"offsetof\" macro
263132718Skan
264132718SkanWinvalid-pch
265132718SkanC ObjC C++ ObjC++
266132718SkanWarn about PCH files that are found but not used
267132718Skan
268132718SkanWlong-long
269132718SkanC ObjC C++ ObjC++
270132718SkanDo not warn about using \"long long\" when -pedantic
271132718Skan
272132718SkanWmain
273132718SkanC ObjC
274132718SkanWarn about suspicious declarations of \"main\"
275132718Skan
276132718SkanWmissing-braces
277132718SkanC ObjC C++ ObjC++
278132718SkanWarn about possibly missing braces around initializers
279132718Skan
280132718SkanWmissing-declarations
281132718SkanC ObjC
282132718SkanWarn about global functions without previous declarations
283132718Skan
284132718SkanWmissing-format-attribute
285132718SkanC ObjC C++ ObjC++
286132718SkanWarn about functions which might be candidates for format attributes
287132718Skan
288132718SkanWmissing-prototypes
289132718SkanC ObjC
290132718SkanWarn about global functions without prototypes
291132718Skan
292132718SkanWmultichar
293132718SkanC ObjC C++ ObjC++
294132718SkanWarn about use of multi-character character constants
295132718Skan
296132718SkanWnested-externs
297132718SkanC ObjC
298132718SkanWarn about \"extern\" declarations not at file scope
299132718Skan
300132718SkanWnon-template-friend
301132718SkanC++ ObjC++
302132718SkanWarn when non-templatized friend functions are declared within a template
303132718Skan
304132718SkanWnon-virtual-dtor
305132718SkanC++ ObjC++
306132718SkanWarn about non-virtual destructors
307132718Skan
308132718SkanWnonnull
309132718SkanC ObjC
310132718Skan
311132718SkanWold-style-cast
312132718SkanC++ ObjC++
313132718SkanWarn if a C-style cast is used in a program
314132718Skan
315132718SkanWold-style-definition
316132718SkanC ObjC
317132718SkanWarn if an old-style parameter definition is used
318132718Skan
319132718SkanWoverloaded-virtual
320132718SkanC++ ObjC++
321132718SkanWarn about overloaded virtual function names
322132718Skan
323132718SkanWparentheses
324132718SkanC ObjC C++ ObjC++
325132718SkanWarn about possibly missing parentheses
326132718Skan
327132718SkanWpmf-conversions
328132718SkanC++ ObjC++
329132718SkanWarn when converting the type of pointers to member functions
330132718Skan
331132718SkanWpointer-arith
332132718SkanC ObjC C++ ObjC++
333132718SkanWarn about function pointer arithmetic
334132718Skan
335132718SkanWprotocol
336132718SkanObjC ObjC++
337132718SkanWarn if inherited methods are unimplemented
338132718Skan
339132718SkanWredundant-decls
340132718SkanC ObjC C++ ObjC++
341132718SkanWarn about multiple declarations of the same object
342132718Skan
343132718SkanWreorder
344132718SkanC++ ObjC++
345132718SkanWarn when the compiler reorders code
346132718Skan
347132718SkanWreturn-type
348132718SkanC ObjC C++ ObjC++
349132718SkanWarn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)
350132718Skan
351132718SkanWselector
352132718SkanObjC ObjC++
353132718SkanWarn if a selector has multiple methods
354132718Skan
355132718SkanWsequence-point
356132718SkanC ObjC
357132718SkanWarn about possible violations of sequence point rules
358132718Skan
359132718SkanWsign-compare
360132718SkanC ObjC C++ ObjC++
361132718SkanWarn about signed-unsigned comparisons
362132718Skan
363132718SkanWsign-promo
364132718SkanC++ ObjC++
365132718SkanWarn when overload promotes from unsigned to signed
366132718Skan
367132718SkanWstrict-prototypes
368132718SkanC ObjC
369132718SkanWarn about unprototyped function declarations
370132718Skan
371132718SkanWsynth
372132718SkanC++ ObjC++
373132718SkanWarn when synthesis behavior differs from Cfront
374132718Skan
375132718SkanWsystem-headers
376132718SkanC ObjC C++ ObjC++
377132718SkanDo not suppress warnings from system headers
378132718Skan
379132718SkanWtraditional
380132718SkanC ObjC
381132718SkanWarn about features not present in traditional C
382132718Skan
383132718SkanWtrigraphs
384132718SkanC ObjC C++ ObjC++
385132718SkanWarn if trigraphs are encountered that might affect the meaning of the program
386132718Skan
387132718SkanWundeclared-selector
388132718SkanObjC ObjC++
389132718Skan
390132718SkanWundef
391132718SkanC ObjC C++ ObjC++
392132718SkanWarn if an undefined macro is used in an #if directive
393132718Skan
394132718SkanWunknown-pragmas
395132718SkanC ObjC C++ ObjC++
396132718SkanWarn about unrecognized pragmas
397132718Skan
398132718SkanWunused-macros
399132718SkanC ObjC C++ ObjC++
400132718SkanWarn about macros defined in the main file that are not used
401132718Skan
402132718SkanWwrite-strings
403132718SkanC ObjC C++ ObjC++
404132718SkanGive strings the type \"array of char\"
405132718Skan
406132718Skanansi
407132718SkanC ObjC C++ ObjC++
408132718SkanA synonym for -std=c89.  In a future version of GCC it will become synonymous with -std=c99 instead
409132718Skan
410132718Skand
411132718SkanC ObjC C++ ObjC++ Joined
412132718Skan; Documented in common.opt.  FIXME - what about -dI, -dD, -dN and -dD?
413132718Skan
414132718Skanfaccess-control
415132718SkanC++ ObjC++
416132718SkanEnforce class member access control semantics
417132718Skan
418132718Skanfall-virtual
419132718SkanC++ ObjC++
420132718Skan
421132718Skanfalt-external-templates
422132718SkanC++ ObjC++
423132718SkanChange when template instances are emitted
424132718Skan
425132718Skanfasm
426132718SkanC ObjC C++ ObjC++
427132718SkanRecognize the \"asm\" keyword
428132718Skan
429132718Skanfbuiltin
430132718SkanC ObjC C++ ObjC++
431132718SkanRecognize built-in functions
432132718Skan
433132718Skanfbuiltin-
434132718SkanC ObjC C++ ObjC++ Joined
435132718Skan
436132718Skanfcheck-new
437132718SkanC++ ObjC++
438132718SkanCheck the return value of new
439132718Skan
440132718Skanfcond-mismatch
441132718SkanC ObjC C++ ObjC++
442132718SkanAllow the arguments of the '?' operator to have different types
443132718Skan
444132718Skanfconserve-space
445132718SkanC++ ObjC++
446132718SkanReduce the size of object files
447132718Skan
448132718Skanfconst-strings
449132718SkanC++ ObjC++
450132718SkanMake string literals \"const char[]\" not \"char[]\"
451132718Skan
452132718Skanfconstant-string-class=
453132718SkanObjC ObjC++ Joined
454132718Skan-fconst-string-class=<name>	Use class <name> for constant strings
455132718Skan
456132718Skanfdefault-inline
457132718SkanC++ ObjC++
458132718SkanInline member functions by default
459132718Skan
460132718Skanfdollars-in-identifiers
461132718SkanC ObjC C++ ObjC++
462132718SkanPermit '$' as an identifier character
463132718Skan
464132718Skanfdump-
465132718SkanC ObjC C++ ObjC++ Joined RejectNegative
466132718Skan-fdump-<type>	Dump various compiler internals to a file
467132718Skan
468132718Skanfelide-constructors
469132718SkanC++ ObjC++
470132718Skan
471132718Skanfenforce-eh-specs
472132718SkanC++ ObjC++
473132718SkanGenerate code to check exception specifications
474132718Skan
475132718Skanfenum-int-equiv
476132718SkanC++ ObjC++
477132718Skan
478132718Skanfexec-charset=
479132718SkanC ObjC C++ ObjC++ Joined RejectNegative
480132718Skan-fexec-charset=<cset>	Convert all strings and character constants to character set <cset>
481132718Skan
482132718Skanfinput-charset=
483132718SkanC ObjC C++ ObjC++ Joined RejectNegative
484132718Skan-finput-charset=<cset>      Specify the default character set for source files.
485132718Skan
486132718Skan
487132718Skanfexternal-templates
488132718SkanC++ ObjC++
489132718Skan
490132718Skanffixed-form
491132718SkanC ObjC
492132718Skan
493132718Skanffixed-line-length-
494132718SkanC ObjC Joined
495132718Skan
496132718Skanffor-scope
497132718SkanC++ ObjC++
498132718SkanScope of for-init-statement variables is local to the loop
499132718Skan
500132718Skanffreestanding
501132718SkanC ObjC
502132718SkanDo not assume that standard C libraries and \"main\" exist
503132718Skan
504132718Skanfgnu-keywords
505132718SkanC++ ObjC++
506132718SkanRecognize GNU-defined keywords
507132718Skan
508132718Skanfgnu-runtime
509132718SkanObjC ObjC++
510132718SkanGenerate code for GNU runtime environment
511132718Skan
512132718Skanfguiding-decls
513132718SkanC++ ObjC++
514132718Skan
515132718Skanfhandle-exceptions
516132718SkanC++ ObjC++
517132718Skan
518132718Skanfhonor-std
519132718SkanC++ ObjC++
520132718Skan
521132718Skanfhosted
522132718SkanC ObjC
523132718SkanAssume normal C execution environment
524132718Skan
525132718Skanfhuge-objects
526132718SkanC++ ObjC++
527132718SkanEnable support for huge objects
528132718Skan
529132718Skanfimplement-inlines
530132718SkanC++ ObjC++
531132718SkanExport functions even if they can be inlined
532132718Skan
533132718Skanfimplicit-inline-templates
534132718SkanC++ ObjC++
535132718SkanEmit implicit instantiations of inline templates
536132718Skan
537132718Skanfimplicit-templates
538132718SkanC++ ObjC++
539132718SkanEmit implicit instantiations of templates
540132718Skan
541132718Skanflabels-ok
542132718SkanC++ ObjC++
543132718Skan
544132718Skanfms-extensions
545132718SkanC ObjC C++ ObjC++
546132718SkanDon't warn about uses of Microsoft extensions
547132718Skan
548132718Skanfname-mangling-version-
549132718SkanC++ ObjC++ Joined
550132718Skan
551132718Skanfnew-abi
552132718SkanC++ ObjC++
553132718Skan
554132718Skanfnext-runtime
555132718SkanObjC ObjC++
556132718SkanGenerate code for NeXT (Apple Mac OS X) runtime environment
557132718Skan
558132718Skanfnil-receivers
559132718SkanObjC ObjC++
560132718SkanAssume that receivers of Objective-C messages may be nil
561132718Skan
562132718Skanfnonansi-builtins
563132718SkanC++ ObjC++
564132718Skan
565132718Skanfnonnull-objects
566132718SkanC++ ObjC++
567132718Skan
568132718Skanfobjc-exceptions
569132718SkanObjC ObjC++
570132718SkanEnable Objective-C exception and synchronization syntax
571132718Skan
572132718Skanfoperator-names
573132718SkanC++ ObjC++
574132718SkanRecognize C++ kewords like \"compl\" and \"xor\"
575132718Skan
576132718Skanfoptional-diags
577132718SkanC++ ObjC++
578132718SkanEnable optional diagnostics
579132718Skan
580132718Skanfpch-deps
581132718SkanC ObjC C++ ObjC++
582132718Skan
583132718Skanfpermissive
584132718SkanC++ ObjC++
585132718SkanDowngrade conformance errors to warnings
586132718Skan
587132718Skanfpreprocessed
588132718SkanC ObjC C++ ObjC++
589132718SkanTreat the input file as already preprocessed
590132718Skan
591132718Skanfreplace-objc-classes
592132718SkanObjC ObjC++
593132718SkanUsed in Fix-and-Continue mode to indicate that object files may be swapped in at runtime
594132718Skan
595132718Skanfrepo
596132718SkanC++ ObjC++
597132718SkanEnable automatic template instantiation
598132718Skan
599132718Skanfrtti
600132718SkanC++ ObjC++
601132718SkanGenerate run time type descriptor information
602132718Skan
603132718Skanfshort-double
604132718SkanC ObjC C++ ObjC++
605132718SkanUse the same size for double as for float
606132718Skan
607132718Skanfshort-enums
608132718SkanC ObjC C++ ObjC++
609132718SkanUse the narrowest integer type possible for enumeration types
610132718Skan
611132718Skanfshort-wchar
612132718SkanC ObjC C++ ObjC++
613132718SkanForce the underlying type for \"wchar_t\" to be \"unsigned short\"
614132718Skan
615132718Skanfshow-column
616132718SkanC ObjC C++ ObjC++
617132718Skan
618132718Skanfsigned-bitfields
619132718SkanC ObjC C++ ObjC++
620132718SkanWhen \"signed\" or \"unsigned\" is not given make the bitfield signed
621132718Skan
622132718Skanfsigned-char
623132718SkanC ObjC C++ ObjC++
624132718SkanMake \"char\" signed by default
625132718Skan
626132718Skanfsquangle
627132718SkanC++ ObjC++
628132718Skan
629132718Skanfstats
630132718SkanC++ ObjC++
631132718SkanDisplay statistics accumulated during compilation
632132718Skan
633132718Skanfstrict-prototype
634132718SkanC++ ObjC++
635132718Skan
636132718Skanftabstop=
637132718SkanC ObjC C++ ObjC++ Joined RejectNegative UInteger
638132718Skan-ftabstop=<number>	Distance between tab stops for column reporting
639132718Skan
640132718Skanftemplate-depth-
641132718SkanC++ ObjC++ Joined RejectNegative UInteger 
642132718Skan-ftemplate-depth-<number>	Specify maximum template instantiation depth
643132718Skan
644132718Skanfthis-is-variable
645132718SkanC++ ObjC++
646132718Skan
647132718Skanfunsigned-bitfields
648132718SkanC ObjC C++ ObjC++
649132718SkanWhen \"signed\" or \"unsigned\" is not given make the bitfield unsigned
650132718Skan
651132718Skanfunsigned-char
652132718SkanC ObjC C++ ObjC++
653132718SkanMake \"char\" unsigned by default
654132718Skan
655132718Skanfuse-cxa-atexit
656132718SkanC++ ObjC++
657132718SkanUse __cxa_atexit to register destructors
658132718Skan
659132718Skanfvtable-gc
660132718SkanC++ ObjC++
661132718SkanDiscard unused virtual functions
662132718Skan
663132718Skanfvtable-thunks
664132718SkanC++ ObjC++
665132718SkanImplement vtables using thunks
666132718Skan
667132718Skanfweak
668132718SkanC++ ObjC++
669132718SkanEmit common-like symbols as weak symbols
670132718Skan
671132718Skanfwide-exec-charset=
672132718SkanC ObjC C++ ObjC++ Joined RejectNegative
673132718Skan-fwide-exec-charset=<cset>	Convert all wide strings and character constants to character set <cset>
674132718Skan
675132718Skanfworking-directory
676132718SkanC ObjC C++ ObjC++
677132718SkanGenerate a #line directive pointing at the current working directory
678132718Skan
679132718Skanfxref
680132718SkanC++ ObjC++
681132718SkanEmit cross referencing information
682132718Skan
683132718Skanfzero-link
684132718SkanObjC ObjC++
685132718SkanGenerate lazy class lookup (via objc_getClass()) for use in Zero-Link mode
686132718Skan
687132718Skangen-decls
688132718SkanObjC ObjC++
689132718SkanDump declarations to a .decl file
690132718Skan
691132718Skanidirafter
692132718SkanC ObjC C++ ObjC++ Joined Separate
693132718Skan-idirafter <dir>	Add <dir> to the end of the system include path
694132718Skan
695132718Skanimacros
696132718SkanC ObjC C++ ObjC++ Joined Separate
697132718Skan-imacros <file>	Accept definition of macros in <file>
698132718Skan
699132718Skaninclude
700132718SkanC ObjC C++ ObjC++ Joined Separate
701132718Skan-include <file>	Include the contents of <file> before other files
702132718Skan
703132718Skaniprefix
704132718SkanC ObjC C++ ObjC++ Joined Separate
705132718Skan-iprefix <path>	Specify <path> as a prefix for next two options
706132718Skan
707132718Skanisysroot
708132718SkanC ObjC C++ ObjC++ Joined Separate
709132718Skan-isysroot <dir>	Set <dir> to be the system root directory
710132718Skan
711132718Skanisystem
712132718SkanC ObjC C++ ObjC++ Joined Separate
713132718Skan-isystem <dir>	Add <dir> to the start of the system include path
714132718Skan
715132718Skaniwithprefix
716132718SkanC ObjC C++ ObjC++ Joined Separate
717132718Skan-iwithprefix <dir>	Add <dir> to the end of the system include path
718132718Skan
719132718Skaniwithprefixbefore
720132718SkanC ObjC C++ ObjC++ Joined Separate
721132718Skan-iwithprefixbefore <dir>	Add <dir> to the end of the main include path
722132718Skan
723132718Skanlang-asm
724132718SkanC Undocumented
725132718Skan
726132718Skanlang-objc
727132718SkanC ObjC C++ ObjC++ Undocumented
728132718Skan
729132718Skannostdinc
730132718SkanC ObjC C++ ObjC++
731132718SkanDo not search standard system include directories (those specified with -isystem will still be used)
732132718Skan
733132718Skannostdinc++
734132718SkanC++ ObjC++
735132718SkanDo not search standard system include directories for C++
736132718Skan
737132718Skano
738132718SkanC ObjC C++ ObjC++ Joined Separate
739132718Skan; Documented in common.opt
740132718Skan
741132718Skanpedantic
742132718SkanC ObjC C++ ObjC++
743132718Skan; Documented in common.opt
744132718Skan
745132718Skanpedantic-errors
746132718SkanC ObjC C++ ObjC++
747132718Skan; Documented in common.opt
748132718Skan
749132718Skanprint-objc-runtime-info
750132718SkanObjC ObjC++
751132718SkanGenerate C header of platform-specific features
752132718Skan
753132718Skanremap
754132718SkanC ObjC C++ ObjC++
755132718SkanRemap file names when including files
756132718Skan
757132718Skanstd=c++98
758132718SkanC++ ObjC++
759132718SkanConform to the ISO 1998 C++ standard
760132718Skan
761132718Skanstd=c89
762132718SkanC ObjC
763132718SkanConform to the ISO 1990 C standard
764132718Skan
765132718Skanstd=c99
766132718SkanC ObjC
767132718SkanConform to the ISO 1999 C standard
768132718Skan
769132718Skanstd=c9x
770132718SkanC ObjC
771132718SkanDeprecated in favor of -std=c99
772132718Skan
773132718Skanstd=gnu++98
774132718SkanC++ ObjC++
775132718SkanConform to the ISO 1998 C++ standard with GNU extensions
776132718Skan
777132718Skanstd=gnu89
778132718SkanC ObjC
779132718SkanConform to the ISO 1990 C standard with GNU extensions
780132718Skan
781132718Skanstd=gnu99
782132718SkanC ObjC
783132718SkanConform to the ISO 1999 C standard with GNU extensions
784132718Skan
785132718Skanstd=gnu9x
786132718SkanC ObjC
787132718SkanDeprecated in favor of -std=gnu99
788132718Skan
789132718Skanstd=iso9899:1990
790132718SkanC ObjC
791132718SkanDeprecated in favor of -std=c89
792132718Skan
793132718Skanstd=iso9899:199409
794132718SkanC ObjC
795132718SkanConform to the ISO 1990 C standard as amended in 1994
796132718Skan
797132718Skanstd=iso9899:1999
798132718SkanC ObjC
799132718SkanDeprecated in favor of -std=c99
800132718Skan
801132718Skanstd=iso9899:199x
802132718SkanC ObjC
803132718SkanDeprecated in favor of -std=c99
804132718Skan
805132718Skantraditional-cpp
806132718SkanC ObjC C++ ObjC++
807132718SkanEnable traditional preprocessing
808132718Skan
809132718Skantrigraphs
810132718SkanC ObjC C++ ObjC++
811132718Skan-trigraphs	Support ISO C trigraphs
812132718Skan
813132718Skanundef
814132718SkanC ObjC C++ ObjC++
815132718SkanDo not predefine system-specific and GCC-specific macros
816132718Skan
817132718Skanv
818132718SkanC ObjC C++ ObjC++
819132718SkanEnable verbose output
820132718Skan
821132718Skanw
822132718SkanC ObjC C++ ObjC++
823132718Skan; Documented in common.opt
824132718Skan
825132718Skan; This comment is to ensure we retain the blank line above.
826