xref: /openbsd/gnu/gcc/gcc/c.opt (revision 205d9147)
1404b540aSrobert; Options for the C, ObjC, C++ and ObjC++ front ends.
2404b540aSrobert; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
3404b540aSrobert;
4404b540aSrobert; This file is part of GCC.
5404b540aSrobert;
6404b540aSrobert; GCC is free software; you can redistribute it and/or modify it under
7404b540aSrobert; the terms of the GNU General Public License as published by the Free
8404b540aSrobert; Software Foundation; either version 2, or (at your option) any later
9404b540aSrobert; version.
10404b540aSrobert;
11404b540aSrobert; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12404b540aSrobert; WARRANTY; without even the implied warranty of MERCHANTABILITY or
13404b540aSrobert; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14404b540aSrobert; for more details.
15404b540aSrobert;
16404b540aSrobert; You should have received a copy of the GNU General Public License
17404b540aSrobert; along with GCC; see the file COPYING.  If not, write to the Free
18404b540aSrobert; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
19404b540aSrobert; 02110-1301, USA.
20404b540aSrobert
21404b540aSrobert; See the GCC internals manual for a description of this file's format.
22404b540aSrobert
23404b540aSrobert; Please try to keep this file in ASCII collating order.
24404b540aSrobert
25404b540aSrobertLanguage
26404b540aSrobertC
27404b540aSrobert
28404b540aSrobertLanguage
29404b540aSrobertObjC
30404b540aSrobert
31404b540aSrobertLanguage
32404b540aSrobertC++
33404b540aSrobert
34404b540aSrobertLanguage
35404b540aSrobertObjC++
36404b540aSrobert
37404b540aSrobert-output-pch=
38404b540aSrobertC ObjC C++ ObjC++ Joined Separate
39404b540aSrobert
40404b540aSrobertA
41404b540aSrobertC ObjC C++ ObjC++ Joined Separate
42404b540aSrobert-A<question>=<answer>	Assert the <answer> to <question>.  Putting '-' before <question> disables the <answer> to <question>
43404b540aSrobert
44404b540aSrobertC
45404b540aSrobertC ObjC C++ ObjC++
46404b540aSrobertDo not discard comments
47404b540aSrobert
48404b540aSrobertCC
49404b540aSrobertC ObjC C++ ObjC++
50404b540aSrobertDo not discard comments in macro expansions
51404b540aSrobert
52404b540aSrobertD
53404b540aSrobertC ObjC C++ ObjC++ Joined Separate
54404b540aSrobert-D<macro>[=<val>]	Define a <macro> with <val> as its value.  If just <macro> is given, <val> is taken to be 1
55404b540aSrobert
56404b540aSrobertE
57404b540aSrobertC ObjC C++ ObjC++ Undocumented
58404b540aSrobert
59404b540aSrobertF
60404b540aSrobertC ObjC C++ ObjC++ Joined Separate
61404b540aSrobert-F <dir>	Add <dir> to the end of the main framework include path
62404b540aSrobert
63404b540aSrobertH
64404b540aSrobertC ObjC C++ ObjC++
65404b540aSrobertPrint the name of header files as they are used
66404b540aSrobert
67404b540aSrobertI
68404b540aSrobertC ObjC C++ ObjC++ Joined Separate
69404b540aSrobert-I <dir>	Add <dir> to the end of the main include path
70404b540aSrobert
71404b540aSrobertM
72404b540aSrobertC ObjC C++ ObjC++
73404b540aSrobertGenerate make dependencies
74404b540aSrobert
75404b540aSrobertMD
76404b540aSrobertC ObjC C++ ObjC++ Separate
77404b540aSrobertGenerate make dependencies and compile
78404b540aSrobert
79404b540aSrobertMF
80404b540aSrobertC ObjC C++ ObjC++ Joined Separate
81404b540aSrobert-MF <file>	Write dependency output to the given file
82404b540aSrobert
83404b540aSrobertMG
84404b540aSrobertC ObjC C++ ObjC++
85404b540aSrobertTreat missing header files as generated files
86404b540aSrobert
87404b540aSrobertMM
88404b540aSrobertC ObjC C++ ObjC++
89404b540aSrobertLike -M but ignore system header files
90404b540aSrobert
91404b540aSrobertMMD
92404b540aSrobertC ObjC C++ ObjC++ Separate
93404b540aSrobertLike -MD but ignore system header files
94404b540aSrobert
95404b540aSrobertMP
96404b540aSrobertC ObjC C++ ObjC++
97404b540aSrobertGenerate phony targets for all headers
98404b540aSrobert
99404b540aSrobertMQ
100404b540aSrobertC ObjC C++ ObjC++ Joined Separate
101404b540aSrobert-MQ <target>	Add a MAKE-quoted target
102404b540aSrobert
103404b540aSrobertMT
104404b540aSrobertC ObjC C++ ObjC++ Joined Separate
105404b540aSrobert-MT <target>	Add an unquoted target
106404b540aSrobert
107404b540aSrobertP
108404b540aSrobertC ObjC C++ ObjC++
109404b540aSrobertDo not generate #line directives
110404b540aSrobert
111404b540aSrobertU
112404b540aSrobertC ObjC C++ ObjC++ Joined Separate
113404b540aSrobert-U<macro>	Undefine <macro>
114404b540aSrobert
115404b540aSrobertWabi
116404b540aSrobertC++ ObjC++ Var(warn_abi)
117404b540aSrobertWarn about things that will change when compiling with an ABI-compliant compiler
118404b540aSrobert
119404b540aSrobertWaddress
120404b540aSrobertC ObjC C++ ObjC++ Var(warn_address)
121404b540aSrobertWarn about suspicious uses of memory addresses
122404b540aSrobert
123404b540aSrobertWall
124404b540aSrobertC ObjC C++ ObjC++
125404b540aSrobertEnable most warning messages
126404b540aSrobert
127404b540aSrobertWassign-intercept
128404b540aSrobertObjC ObjC++ Var(warn_assign_intercept)
129404b540aSrobertWarn whenever an Objective-C assignment is being intercepted by the garbage collector
130404b540aSrobert
131404b540aSrobertWbad-function-cast
132404b540aSrobertC ObjC Var(warn_bad_function_cast)
133404b540aSrobertWarn about casting functions to incompatible types
134404b540aSrobert
13575146896SjsgWbounded
136*205d9147SmartynasC ObjC C++ Var(warn_bounded) Init(1)
13775146896SjsgWarn about basic buffer size problems
13875146896Sjsg
139404b540aSrobertWc++-compat
140404b540aSrobertC ObjC Var(warn_cxx_compat)
141404b540aSrobertWarn about C constructs that are not in the common subset of C and C++
142404b540aSrobert
143404b540aSrobert
144404b540aSrobertWcast-qual
145404b540aSrobertC ObjC C++ ObjC++ Var(warn_cast_qual)
146404b540aSrobertWarn about casts which discard qualifiers
147404b540aSrobert
148404b540aSrobertWchar-subscripts
149404b540aSrobertC ObjC C++ ObjC++ Var(warn_char_subscripts)
150404b540aSrobertWarn about subscripts whose type is \"char\"
151404b540aSrobert
152404b540aSrobertWcomment
153404b540aSrobertC ObjC C++ ObjC++
154404b540aSrobertWarn about possibly nested block comments, and C++ comments spanning more than one physical line
155404b540aSrobert
156404b540aSrobertWcomments
157404b540aSrobertC ObjC C++ ObjC++
158404b540aSrobertSynonym for -Wcomment
159404b540aSrobert
160404b540aSrobertWconversion
161404b540aSrobertC ObjC C++ ObjC++ Var(warn_conversion)
162404b540aSrobertWarn about possibly confusing type conversions
163404b540aSrobert
164404b540aSrobertWctor-dtor-privacy
165404b540aSrobertC++ ObjC++ Var(warn_ctor_dtor_privacy)
166404b540aSrobertWarn when all constructors and destructors are private
167404b540aSrobert
168404b540aSrobertWdeclaration-after-statement
169404b540aSrobertC ObjC Var(warn_declaration_after_statement)
170404b540aSrobertWarn when a declaration is found after a statement
171404b540aSrobert
172404b540aSrobertWdeprecated
173404b540aSrobertC++ ObjC++ Var(warn_deprecated) Init(1)
174404b540aSrobertWarn about deprecated compiler features
175404b540aSrobert
176404b540aSrobertWdiv-by-zero
177404b540aSrobertC ObjC C++ ObjC++ Var(warn_div_by_zero) Init(1)
178404b540aSrobertWarn about compile-time integer division by zero
179404b540aSrobert
180404b540aSrobertWeffc++
181404b540aSrobertC++ ObjC++ Var(warn_ecpp)
182404b540aSrobertWarn about violations of Effective C++ style rules
183404b540aSrobert
184404b540aSrobertWendif-labels
185404b540aSrobertC ObjC C++ ObjC++
186404b540aSrobertWarn about stray tokens after #elif and #endif
187404b540aSrobert
188404b540aSrobertWerror
189404b540aSrobertC ObjC C++ ObjC++
190404b540aSrobert; Documented in common.opt
191404b540aSrobert
192404b540aSrobertWerror-implicit-function-declaration
193404b540aSrobertC ObjC RejectNegative
194404b540aSrobertMake implicit function declarations an error
195404b540aSrobert
196404b540aSrobertWfloat-equal
197404b540aSrobertC ObjC C++ ObjC++ Var(warn_float_equal)
198404b540aSrobertWarn if testing floating point numbers for equality
199404b540aSrobert
200404b540aSrobertWformat
201404b540aSrobertC ObjC C++ ObjC++
202404b540aSrobertWarn about printf/scanf/strftime/strfmon format string anomalies
203404b540aSrobert
204404b540aSrobertWformat-extra-args
205404b540aSrobertC ObjC C++ ObjC++ Var(warn_format_extra_args)
206404b540aSrobertWarn if passing too many arguments to a function for its format string
207404b540aSrobert
208404b540aSrobertWformat-nonliteral
209404b540aSrobertC ObjC C++ ObjC++ Var(warn_format_nonliteral)
210404b540aSrobertWarn about format strings that are not literals
211404b540aSrobert
212404b540aSrobertWformat-security
213404b540aSrobertC ObjC C++ ObjC++ Var(warn_format_security)
214404b540aSrobertWarn about possible security problems with format functions
215404b540aSrobert
216404b540aSrobertWformat-y2k
217404b540aSrobertC ObjC C++ ObjC++ Var(warn_format_y2k)
218404b540aSrobertWarn about strftime formats yielding 2-digit years
219404b540aSrobert
220404b540aSrobertWformat-zero-length
221404b540aSrobertC ObjC Var(warn_format_zero_length)
222404b540aSrobertWarn about zero-length formats
223404b540aSrobert
224404b540aSrobertWformat=
225404b540aSrobertC ObjC C++ ObjC++ Joined
226404b540aSrobert
227404b540aSrobertWinit-self
228404b540aSrobertC ObjC C++ ObjC++ Var(warn_init_self)
229404b540aSrobertWarn about variables which are initialized to themselves
230404b540aSrobert
231404b540aSrobertWimplicit
232404b540aSrobertC ObjC C++ ObjC++
233404b540aSrobert
234404b540aSrobertWimplicit-function-declaration
235404b540aSrobertC ObjC Var(mesg_implicit_function_declaration) Init(-1)
236404b540aSrobertWarn about implicit function declarations
237404b540aSrobert
238404b540aSrobertWimplicit-int
239404b540aSrobertC ObjC Var(warn_implicit_int)
240404b540aSrobertWarn when a declaration does not specify a type
241404b540aSrobert
242404b540aSrobertWimport
243404b540aSrobertC ObjC C++ ObjC++
244404b540aSrobertDeprecated.  This switch has no effect
245404b540aSrobert
246404b540aSrobertWint-to-pointer-cast
247404b540aSrobertC ObjC Var(warn_int_to_pointer_cast) Init(1)
248404b540aSrobertWarn when there is a cast to a pointer from an integer of a different size
249404b540aSrobert
250404b540aSrobertWinvalid-offsetof
251404b540aSrobertC++ ObjC++ Var(warn_invalid_offsetof) Init(1)
252404b540aSrobertWarn about invalid uses of the \"offsetof\" macro
253404b540aSrobert
254404b540aSrobertWinvalid-pch
255404b540aSrobertC ObjC C++ ObjC++
256404b540aSrobertWarn about PCH files that are found but not used
257404b540aSrobert
258404b540aSrobertWlong-long
259404b540aSrobertC ObjC C++ ObjC++ Var(warn_long_long) Init(1)
260404b540aSrobertDo not warn about using \"long long\" when -pedantic
261404b540aSrobert
262404b540aSrobertWmain
263404b540aSrobertC ObjC
264404b540aSrobertWarn about suspicious declarations of \"main\"
265404b540aSrobert
266404b540aSrobertWmissing-braces
267404b540aSrobertC ObjC C++ ObjC++ Var(warn_missing_braces)
268404b540aSrobertWarn about possibly missing braces around initializers
269404b540aSrobert
270404b540aSrobertWmissing-declarations
271404b540aSrobertC ObjC Var(warn_missing_declarations)
272404b540aSrobertWarn about global functions without previous declarations
273404b540aSrobert
274404b540aSrobertWmissing-field-initializers
275404b540aSrobertC ObjC C++ ObjC++ Var(warn_missing_field_initializers) Init(-1)
276404b540aSrobertWarn about missing fields in struct initializers
277404b540aSrobert
278404b540aSrobertWmissing-format-attribute
279404b540aSrobertC ObjC C++ ObjC++ Var(warn_missing_format_attribute)
280404b540aSrobertWarn about functions which might be candidates for format attributes
281404b540aSrobert
282404b540aSrobertWmissing-include-dirs
283404b540aSrobertC ObjC C++ ObjC++
284404b540aSrobertWarn about user-specified include directories that do not exist
285404b540aSrobert
286404b540aSrobertWmissing-prototypes
287404b540aSrobertC ObjC Var(warn_missing_prototypes)
288404b540aSrobertWarn about global functions without prototypes
289404b540aSrobert
290404b540aSrobertWmultichar
291404b540aSrobertC ObjC C++ ObjC++
292404b540aSrobertWarn about use of multi-character character constants
293404b540aSrobert
294404b540aSrobertWnested-externs
295404b540aSrobertC ObjC Var(warn_nested_externs)
296404b540aSrobertWarn about \"extern\" declarations not at file scope
297404b540aSrobert
298404b540aSrobertWnon-template-friend
299404b540aSrobertC++ ObjC++ Var(warn_nontemplate_friend) Init(1)
300404b540aSrobertWarn when non-templatized friend functions are declared within a template
301404b540aSrobert
302404b540aSrobertWnon-virtual-dtor
303404b540aSrobertC++ ObjC++ Var(warn_nonvdtor)
304404b540aSrobertWarn about non-virtual destructors
305404b540aSrobert
306404b540aSrobertWnonnull
307404b540aSrobertC ObjC Var(warn_nonnull)
308404b540aSrobertWarn about NULL being passed to argument slots marked as requiring non-NULL
309404b540aSrobert
310404b540aSrobertWnormalized=
311404b540aSrobertC ObjC C++ ObjC++ Joined
312404b540aSrobert-Wnormalized=<id|nfc|nfkc>	Warn about non-normalised Unicode strings
313404b540aSrobert
314404b540aSrobertWold-style-cast
315404b540aSrobertC++ ObjC++ Var(warn_old_style_cast)
316404b540aSrobertWarn if a C-style cast is used in a program
317404b540aSrobert
318404b540aSrobertWold-style-definition
319404b540aSrobertC ObjC Var(warn_old_style_definition)
320404b540aSrobertWarn if an old-style parameter definition is used
321404b540aSrobert
322404b540aSrobertWoverlength-strings
323404b540aSrobertC ObjC C++ ObjC++ Var(warn_overlength_strings) Init(-1)
324404b540aSrobertWarn if a string is longer than the maximum portable length specified by the standard
325404b540aSrobert
326404b540aSrobertWoverloaded-virtual
327404b540aSrobertC++ ObjC++ Var(warn_overloaded_virtual)
328404b540aSrobertWarn about overloaded virtual function names
329404b540aSrobert
330404b540aSrobertWoverride-init
331404b540aSrobertC ObjC Var(warn_override_init) Init(-1)
332404b540aSrobertWarn about overriding initializers without side effects
333404b540aSrobert
334404b540aSrobertWparentheses
335404b540aSrobertC ObjC C++ ObjC++ Var(warn_parentheses)
336404b540aSrobertWarn about possibly missing parentheses
337404b540aSrobert
338404b540aSrobertWpmf-conversions
339404b540aSrobertC++ ObjC++ Var(warn_pmf2ptr) Init(1)
340404b540aSrobertWarn when converting the type of pointers to member functions
341404b540aSrobert
342404b540aSrobertWpointer-arith
343404b540aSrobertC ObjC C++ ObjC++ Var(warn_pointer_arith)
344404b540aSrobertWarn about function pointer arithmetic
345404b540aSrobert
346404b540aSrobertWpointer-to-int-cast
347404b540aSrobertC ObjC Var(warn_pointer_to_int_cast) Init(1)
348404b540aSrobertWarn when a pointer is cast to an integer of a different size
349404b540aSrobert
350404b540aSrobertWpragmas
351404b540aSrobertC ObjC C++ ObjC++ Var(warn_pragmas) Init(1)
352404b540aSrobertWarn about misuses of pragmas
353404b540aSrobert
354404b540aSrobertWprotocol
355404b540aSrobertObjC ObjC++ Var(warn_protocol) Init(1)
356404b540aSrobertWarn if inherited methods are unimplemented
357404b540aSrobert
358404b540aSrobertWredundant-decls
359404b540aSrobertC ObjC C++ ObjC++ Var(warn_redundant_decls)
360404b540aSrobertWarn about multiple declarations of the same object
361404b540aSrobert
362404b540aSrobertWreorder
363404b540aSrobertC++ ObjC++ Var(warn_reorder)
364404b540aSrobertWarn when the compiler reorders code
365404b540aSrobert
366404b540aSrobertWreturn-type
367404b540aSrobertC ObjC C++ ObjC++ Var(warn_return_type)
368404b540aSrobertWarn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)
369404b540aSrobert
370404b540aSrobertWselector
371404b540aSrobertObjC ObjC++ Var(warn_selector)
372404b540aSrobertWarn if a selector has multiple methods
373404b540aSrobert
374404b540aSrobertWsequence-point
375404b540aSrobertC ObjC C++ ObjC++ Var(warn_sequence_point)
376404b540aSrobertWarn about possible violations of sequence point rules
377404b540aSrobert
378404b540aSrobertWsign-compare
379404b540aSrobertC ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1)
380404b540aSrobertWarn about signed-unsigned comparisons
381404b540aSrobert
382404b540aSrobertWsign-promo
383404b540aSrobertC++ ObjC++ Var(warn_sign_promo)
384404b540aSrobertWarn when overload promotes from unsigned to signed
385404b540aSrobert
386404b540aSrobertWstrict-null-sentinel
387404b540aSrobertC++ ObjC++
388404b540aSrobertWarn about uncasted NULL used as sentinel
389404b540aSrobert
390404b540aSrobertWstrict-prototypes
391404b540aSrobertC ObjC Var(warn_strict_prototypes)
392404b540aSrobertWarn about unprototyped function declarations
393404b540aSrobert
394404b540aSrobertWstrict-selector-match
395404b540aSrobertObjC ObjC++ Var(warn_strict_selector_match)
396404b540aSrobertWarn if type signatures of candidate methods do not match exactly
397404b540aSrobert
398404b540aSrobertWsynth
399404b540aSrobertC++ ObjC++ Var(warn_synth)
400404b540aSrobertWarn when synthesis behavior differs from Cfront
401404b540aSrobert
402404b540aSrobertWsystem-headers
403404b540aSrobertC ObjC C++ ObjC++
404404b540aSrobertDo not suppress warnings from system headers
405404b540aSrobert
406404b540aSrobertWtraditional
407404b540aSrobertC ObjC Var(warn_traditional)
408404b540aSrobertWarn about features not present in traditional C
409404b540aSrobert
41085ccd8dfSespieWtrampolines
41185ccd8dfSespieCommon Var(warn_trampolines)
41285ccd8dfSespieWarn when trampolines are emitted
41385ccd8dfSespie
414404b540aSrobertWtrigraphs
415404b540aSrobertC ObjC C++ ObjC++
416404b540aSrobertWarn if trigraphs are encountered that might affect the meaning of the program
417404b540aSrobert
418404b540aSrobertWundeclared-selector
419404b540aSrobertObjC ObjC++ Var(warn_undeclared_selector)
420404b540aSrobertWarn about @selector()s without previously declared methods
421404b540aSrobert
422404b540aSrobertWundef
423404b540aSrobertC ObjC C++ ObjC++
424404b540aSrobertWarn if an undefined macro is used in an #if directive
425404b540aSrobert
426404b540aSrobertWunknown-pragmas
427404b540aSrobertC ObjC C++ ObjC++
428404b540aSrobertWarn about unrecognized pragmas
429404b540aSrobert
430404b540aSrobertWunused-macros
431404b540aSrobertC ObjC C++ ObjC++
432404b540aSrobertWarn about macros defined in the main file that are not used
433404b540aSrobert
434404b540aSrobertWvariadic-macros
435404b540aSrobertC ObjC C++ ObjC++
436404b540aSrobertDo not warn about using variadic macros when -pedantic
437404b540aSrobert
438404b540aSrobertWwrite-strings
439404b540aSrobertC ObjC C++ ObjC++ Var(warn_write_strings)
440404b540aSrobertIn C++, nonzero means warn about deprecated conversion from string literals to `char *'.  In C, similar warning, except that the conversion is of course not deprecated by the ISO C standard.
441404b540aSrobert
442404b540aSrobertWpointer-sign
443404b540aSrobertC ObjC Var(warn_pointer_sign) Init(-1)
444404b540aSrobertWarn when a pointer differs in signedness in an assignment
445404b540aSrobert
446404b540aSrobertansi
447404b540aSrobertC ObjC C++ ObjC++
448404b540aSrobertA synonym for -std=c89 (for C) or -std=c++98 (for C++)
449404b540aSrobert
450404b540aSrobertd
451404b540aSrobertC ObjC C++ ObjC++ Joined
452404b540aSrobert; Documented in common.opt.  FIXME - what about -dI, -dD, -dN and -dD?
453404b540aSrobert
454404b540aSrobertfaccess-control
455404b540aSrobertC++ ObjC++
456404b540aSrobertEnforce class member access control semantics
457404b540aSrobert
458404b540aSrobertfall-virtual
459404b540aSrobertC++ ObjC++
460404b540aSrobert
461404b540aSrobertfalt-external-templates
462404b540aSrobertC++ ObjC++
463404b540aSrobertChange when template instances are emitted
464404b540aSrobert
465404b540aSrobertfasm
466404b540aSrobertC ObjC C++ ObjC++
467404b540aSrobertRecognize the \"asm\" keyword
468404b540aSrobert
469404b540aSrobertfbuiltin
470404b540aSrobertC ObjC C++ ObjC++
471404b540aSrobertRecognize built-in functions
472404b540aSrobert
473404b540aSrobertfbuiltin-
474404b540aSrobertC ObjC C++ ObjC++ Joined
475404b540aSrobert
476404b540aSrobertfcheck-new
477404b540aSrobertC++ ObjC++
478404b540aSrobertCheck the return value of new
479404b540aSrobert
480404b540aSrobertfcond-mismatch
481404b540aSrobertC ObjC C++ ObjC++
482404b540aSrobertAllow the arguments of the '?' operator to have different types
483404b540aSrobert
484404b540aSrobertfconserve-space
485404b540aSrobertC++ ObjC++
486404b540aSrobertReduce the size of object files
487404b540aSrobert
488404b540aSrobertfconstant-string-class=
489404b540aSrobertObjC ObjC++ Joined
490404b540aSrobert-fconst-string-class=<name>	Use class <name> for constant strings
491404b540aSrobert
492404b540aSrobertfdefault-inline
493404b540aSrobertC++ ObjC++
494404b540aSrobertInline member functions by default
495404b540aSrobert
496404b540aSrobertfdollars-in-identifiers
497404b540aSrobertC ObjC C++ ObjC++
498404b540aSrobertPermit '$' as an identifier character
499404b540aSrobert
500404b540aSrobertfelide-constructors
501404b540aSrobertC++ ObjC++
502404b540aSrobert
503404b540aSrobertfenforce-eh-specs
504404b540aSrobertC++ ObjC++
505404b540aSrobertGenerate code to check exception specifications
506404b540aSrobert
507404b540aSrobertfenum-int-equiv
508404b540aSrobertC++ ObjC++
509404b540aSrobert
510404b540aSrobertfexec-charset=
511404b540aSrobertC ObjC C++ ObjC++ Joined RejectNegative
512404b540aSrobert-fexec-charset=<cset>	Convert all strings and character constants to character set <cset>
513404b540aSrobert
514404b540aSrobertfextended-identifiers
515404b540aSrobertC ObjC C++ ObjC++
516404b540aSrobertPermit universal character names (\\u and \\U) in identifiers
517404b540aSrobert
518404b540aSrobertfinput-charset=
519404b540aSrobertC ObjC C++ ObjC++ Joined RejectNegative
520404b540aSrobert-finput-charset=<cset>	Specify the default character set for source files
521404b540aSrobert
522404b540aSrobert
523404b540aSrobertfexternal-templates
524404b540aSrobertC++ ObjC++
525404b540aSrobert
526404b540aSrobertffor-scope
527404b540aSrobertC++ ObjC++
528404b540aSrobertScope of for-init-statement variables is local to the loop
529404b540aSrobert
530404b540aSrobertffreestanding
531404b540aSrobertC ObjC
532404b540aSrobertDo not assume that standard C libraries and \"main\" exist
533404b540aSrobert
534404b540aSrobertfgnu-keywords
535404b540aSrobertC++ ObjC++
536404b540aSrobertRecognize GNU-defined keywords
537404b540aSrobert
538404b540aSrobertfgnu-runtime
539404b540aSrobertObjC ObjC++
540404b540aSrobertGenerate code for GNU runtime environment
541404b540aSrobert
542404b540aSrobertfgnu89-inline
543404b540aSrobertC ObjC Var(flag_gnu89_inline) Init(-1)
544404b540aSrobertUse traditional GNU semantics for inline functions
545404b540aSrobert
546404b540aSrobertfguiding-decls
547404b540aSrobertC++ ObjC++
548404b540aSrobert
549404b540aSrobertfhandle-exceptions
550404b540aSrobertC++ ObjC++
551404b540aSrobert
552404b540aSrobertfhonor-std
553404b540aSrobertC++ ObjC++
554404b540aSrobert
555404b540aSrobertfhosted
556404b540aSrobertC ObjC
557404b540aSrobertAssume normal C execution environment
558404b540aSrobert
559404b540aSrobertfhuge-objects
560404b540aSrobertC++ ObjC++
561404b540aSrobertEnable support for huge objects
562404b540aSrobert
563404b540aSrobertfimplement-inlines
564404b540aSrobertC++ ObjC++
565404b540aSrobertExport functions even if they can be inlined
566404b540aSrobert
567404b540aSrobertfimplicit-inline-templates
568404b540aSrobertC++ ObjC++
569404b540aSrobertEmit implicit instantiations of inline templates
570404b540aSrobert
571404b540aSrobertfimplicit-templates
572404b540aSrobertC++ ObjC++
573404b540aSrobertEmit implicit instantiations of templates
574404b540aSrobert
575404b540aSrobertffriend-injection
576404b540aSrobertC++ ObjC++ Var(flag_friend_injection)
577404b540aSrobertInject friend functions into enclosing namespace
578404b540aSrobert
579404b540aSrobertflabels-ok
580404b540aSrobertC++ ObjC++
581404b540aSrobert
582404b540aSrobertfms-extensions
583404b540aSrobertC ObjC C++ ObjC++
584404b540aSrobertDon't warn about uses of Microsoft extensions
585404b540aSrobert
586404b540aSrobertfname-mangling-version-
587404b540aSrobertC++ ObjC++ Joined
588404b540aSrobert
589404b540aSrobertfnew-abi
590404b540aSrobertC++ ObjC++
591404b540aSrobert
592404b540aSrobertfnext-runtime
593404b540aSrobertObjC ObjC++
594404b540aSrobertGenerate code for NeXT (Apple Mac OS X) runtime environment
595404b540aSrobert
596404b540aSrobertfnil-receivers
597404b540aSrobertObjC ObjC++
598404b540aSrobertAssume that receivers of Objective-C messages may be nil
599404b540aSrobert
600404b540aSrobertfnonansi-builtins
601404b540aSrobertC++ ObjC++
602404b540aSrobert
603404b540aSrobertfnonnull-objects
604404b540aSrobertC++ ObjC++
605404b540aSrobert
606404b540aSrobert; Generate special '- .cxx_construct' and '- .cxx_destruct' methods
607404b540aSrobert; to initialize any non-POD ivars in Objective-C++ classes.
608404b540aSrobertfobjc-call-cxx-cdtors
609404b540aSrobertObjC++ Var(flag_objc_call_cxx_cdtors)
610404b540aSrobertGenerate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed
611404b540aSrobert
612404b540aSrobertfobjc-direct-dispatch
613404b540aSrobertObjC ObjC++ Var(flag_objc_direct_dispatch)
614404b540aSrobertAllow fast jumps to the message dispatcher
615404b540aSrobert
616404b540aSrobert; Nonzero means that we will allow new ObjC exception syntax (@throw,
617404b540aSrobert; @try, etc.) in source code.
618404b540aSrobertfobjc-exceptions
619404b540aSrobertObjC ObjC++ Var(flag_objc_exceptions)
620404b540aSrobertEnable Objective-C exception and synchronization syntax
621404b540aSrobert
622404b540aSrobertfobjc-gc
623404b540aSrobertObjC ObjC++ Var(flag_objc_gc)
624404b540aSrobertEnable garbage collection (GC) in Objective-C/Objective-C++ programs
625404b540aSrobert
626404b540aSrobert; Nonzero means that we generate NeXT setjmp based exceptions.
627404b540aSrobertfobjc-sjlj-exceptions
628404b540aSrobertObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1)
629404b540aSrobertEnable Objective-C setjmp exception handling runtime
630404b540aSrobert
631404b540aSrobertfopenmp
632404b540aSrobertC ObjC C++ ObjC++ Var(flag_openmp)
633404b540aSrobertEnable OpenMP
634404b540aSrobert
635404b540aSrobertfoperator-names
636404b540aSrobertC++ ObjC++
637404b540aSrobertRecognize C++ kewords like \"compl\" and \"xor\"
638404b540aSrobert
639404b540aSrobertfoptional-diags
640404b540aSrobertC++ ObjC++
641404b540aSrobertEnable optional diagnostics
642404b540aSrobert
643404b540aSrobertfpch-deps
644404b540aSrobertC ObjC C++ ObjC++
645404b540aSrobert
646404b540aSrobertfpch-preprocess
647404b540aSrobertC ObjC C++ ObjC++
648404b540aSrobertLook for and use PCH files even when preprocessing
649404b540aSrobert
650404b540aSrobertfpermissive
651404b540aSrobertC++ ObjC++
652404b540aSrobertDowngrade conformance errors to warnings
653404b540aSrobert
654404b540aSrobertfpreprocessed
655404b540aSrobertC ObjC C++ ObjC++
656404b540aSrobertTreat the input file as already preprocessed
657404b540aSrobert
658404b540aSrobertfreplace-objc-classes
659404b540aSrobertObjC ObjC++
660404b540aSrobertUsed in Fix-and-Continue mode to indicate that object files may be swapped in at runtime
661404b540aSrobert
662404b540aSrobertfrepo
663404b540aSrobertC++ ObjC++
664404b540aSrobertEnable automatic template instantiation
665404b540aSrobert
666404b540aSrobertfrtti
667404b540aSrobertC++ ObjC++
668404b540aSrobertGenerate run time type descriptor information
669404b540aSrobert
670404b540aSrobertfshort-double
671404b540aSrobertC ObjC C++ ObjC++
672404b540aSrobertUse the same size for double as for float
673404b540aSrobert
674404b540aSrobertfshort-enums
675404b540aSrobertC ObjC C++ ObjC++
676404b540aSrobertUse the narrowest integer type possible for enumeration types
677404b540aSrobert
678404b540aSrobertfshort-wchar
679404b540aSrobertC ObjC C++ ObjC++
680404b540aSrobertForce the underlying type for \"wchar_t\" to be \"unsigned short\"
681404b540aSrobert
682404b540aSrobertfsigned-bitfields
683404b540aSrobertC ObjC C++ ObjC++
684404b540aSrobertWhen \"signed\" or \"unsigned\" is not given make the bitfield signed
685404b540aSrobert
686404b540aSrobertfsigned-char
687404b540aSrobertC ObjC C++ ObjC++
688404b540aSrobertMake \"char\" signed by default
689404b540aSrobert
690404b540aSrobertfsquangle
691404b540aSrobertC++ ObjC++
692404b540aSrobert
693404b540aSrobertfstats
694404b540aSrobertC++ ObjC++
695404b540aSrobertDisplay statistics accumulated during compilation
696404b540aSrobert
697404b540aSrobertfstrict-prototype
698404b540aSrobertC++ ObjC++
699404b540aSrobert
700404b540aSrobertftabstop=
701404b540aSrobertC ObjC C++ ObjC++ Joined RejectNegative UInteger
702404b540aSrobert-ftabstop=<number>	Distance between tab stops for column reporting
703404b540aSrobert
704404b540aSrobertftemplate-depth-
705404b540aSrobertC++ ObjC++ Joined RejectNegative UInteger
706404b540aSrobert-ftemplate-depth-<number>	Specify maximum template instantiation depth
707404b540aSrobert
708404b540aSrobertfthis-is-variable
709404b540aSrobertC++ ObjC++
710404b540aSrobert
711404b540aSrobertfthreadsafe-statics
712404b540aSrobertC++ ObjC++
713404b540aSrobert-fno-threadsafe-statics	Do not generate thread-safe code for initializing local statics
714404b540aSrobert
71585ccd8dfSespieftrampolines
71685ccd8dfSespieCommon Var(flag_trampolines)
71785ccd8dfSespieAllows trampolines
71885ccd8dfSespie
719404b540aSrobertfunsigned-bitfields
720404b540aSrobertC ObjC C++ ObjC++
721404b540aSrobertWhen \"signed\" or \"unsigned\" is not given make the bitfield unsigned
722404b540aSrobert
723404b540aSrobertfunsigned-char
724404b540aSrobertC ObjC C++ ObjC++
725404b540aSrobertMake \"char\" unsigned by default
726404b540aSrobert
727404b540aSrobertfuse-cxa-atexit
728404b540aSrobertC++ ObjC++
729404b540aSrobertUse __cxa_atexit to register destructors
730404b540aSrobert
731404b540aSrobertfuse-cxa-get-exception-ptr
732404b540aSrobertC++ ObjC++
733404b540aSrobertUse __cxa_get_exception_ptr in exception handling
734404b540aSrobert
735404b540aSrobertfvisibility-inlines-hidden
736404b540aSrobertC++ ObjC++
737404b540aSrobertMarks all inlined methods as having hidden visibility
738404b540aSrobert
739404b540aSrobertfvtable-gc
740404b540aSrobertC++ ObjC++
741404b540aSrobertDiscard unused virtual functions
742404b540aSrobert
743404b540aSrobertfvtable-thunks
744404b540aSrobertC++ ObjC++
745404b540aSrobertImplement vtables using thunks
746404b540aSrobert
747404b540aSrobertfweak
748404b540aSrobertC++ ObjC++
749404b540aSrobertEmit common-like symbols as weak symbols
750404b540aSrobert
751404b540aSrobertfwide-exec-charset=
752404b540aSrobertC ObjC C++ ObjC++ Joined RejectNegative
753404b540aSrobert-fwide-exec-charset=<cset>	Convert all wide strings and character constants to character set <cset>
754404b540aSrobert
755404b540aSrobertfworking-directory
756404b540aSrobertC ObjC C++ ObjC++
757404b540aSrobertGenerate a #line directive pointing at the current working directory
758404b540aSrobert
759404b540aSrobertfxref
760404b540aSrobertC++ ObjC++
761404b540aSrobertEmit cross referencing information
762404b540aSrobert
763404b540aSrobertfzero-link
764404b540aSrobertObjC ObjC++
765404b540aSrobertGenerate lazy class lookup (via objc_getClass()) for use in Zero-Link mode
766404b540aSrobert
767404b540aSrobertgen-decls
768404b540aSrobertObjC ObjC++
769404b540aSrobertDump declarations to a .decl file
770404b540aSrobert
771404b540aSrobertidirafter
772404b540aSrobertC ObjC C++ ObjC++ Joined Separate
773404b540aSrobert-idirafter <dir>	Add <dir> to the end of the system include path
774404b540aSrobert
775404b540aSrobertimacros
776404b540aSrobertC ObjC C++ ObjC++ Joined Separate
777404b540aSrobert-imacros <file>	Accept definition of macros in <file>
778404b540aSrobert
779404b540aSrobertimultilib
780404b540aSrobertC ObjC C++ ObjC++ Joined Separate
781404b540aSrobert-imultilib <dir> Set <dir> to be the multilib include subdirectory
782404b540aSrobert
783404b540aSrobertinclude
784404b540aSrobertC ObjC C++ ObjC++ Joined Separate
785404b540aSrobert-include <file>	Include the contents of <file> before other files
786404b540aSrobert
787404b540aSrobertiprefix
788404b540aSrobertC ObjC C++ ObjC++ Joined Separate
789404b540aSrobert-iprefix <path>	Specify <path> as a prefix for next two options
790404b540aSrobert
791404b540aSrobertisysroot
792404b540aSrobertC ObjC C++ ObjC++ Joined Separate
793404b540aSrobert-isysroot <dir>	Set <dir> to be the system root directory
794404b540aSrobert
795404b540aSrobertisystem
796404b540aSrobertC ObjC C++ ObjC++ Joined Separate
797404b540aSrobert-isystem <dir>	Add <dir> to the start of the system include path
798404b540aSrobert
799404b540aSrobertiquote
800404b540aSrobertC ObjC C++ ObjC++ Joined Separate
801404b540aSrobert-iquote <dir>	Add <dir> to the end of the quote include path
802404b540aSrobert
803404b540aSrobertiwithprefix
804404b540aSrobertC ObjC C++ ObjC++ Joined Separate
805404b540aSrobert-iwithprefix <dir>	Add <dir> to the end of the system include path
806404b540aSrobert
807404b540aSrobertiwithprefixbefore
808404b540aSrobertC ObjC C++ ObjC++ Joined Separate
809404b540aSrobert-iwithprefixbefore <dir>	Add <dir> to the end of the main include path
810404b540aSrobert
811404b540aSrobertlang-asm
812404b540aSrobertC Undocumented
813404b540aSrobert
814404b540aSrobertlang-fortran
815404b540aSrobertC Undocumented
816404b540aSrobert
817404b540aSrobertlang-objc
818404b540aSrobertC ObjC C++ ObjC++ Undocumented
819404b540aSrobert
820404b540aSrobertnostdinc
821404b540aSrobertC ObjC C++ ObjC++
822404b540aSrobertDo not search standard system include directories (those specified with -isystem will still be used)
823404b540aSrobert
824404b540aSrobertnostdinc++
825404b540aSrobertC++ ObjC++
826404b540aSrobertDo not search standard system include directories for C++
827404b540aSrobert
828404b540aSroberto
829404b540aSrobertC ObjC C++ ObjC++ Joined Separate
830404b540aSrobert; Documented in common.opt
831404b540aSrobert
832404b540aSrobertpedantic
833404b540aSrobertC ObjC C++ ObjC++
834404b540aSrobert; Documented in common.opt
835404b540aSrobert
836404b540aSrobertpedantic-errors
837404b540aSrobertC ObjC C++ ObjC++
838404b540aSrobert; Documented in common.opt
839404b540aSrobert
840404b540aSrobertprint-objc-runtime-info
841404b540aSrobertObjC ObjC++
842404b540aSrobertGenerate C header of platform-specific features
843404b540aSrobert
844404b540aSrobertprint-pch-checksum
845404b540aSrobertC ObjC C++ ObjC++
846404b540aSrobertPrint a checksum of the executable for PCH validity checking, and stop
847404b540aSrobert
848404b540aSrobertremap
849404b540aSrobertC ObjC C++ ObjC++
850404b540aSrobertRemap file names when including files
851404b540aSrobert
852404b540aSrobertstd=c++98
853404b540aSrobertC++ ObjC++
854404b540aSrobertConform to the ISO 1998 C++ standard
855404b540aSrobert
856404b540aSrobertstd=c89
857404b540aSrobertC ObjC
858404b540aSrobertConform to the ISO 1990 C standard
859404b540aSrobert
860404b540aSrobertstd=c99
861404b540aSrobertC ObjC
862404b540aSrobertConform to the ISO 1999 C standard
863404b540aSrobert
864404b540aSrobertstd=c9x
865404b540aSrobertC ObjC
866404b540aSrobertDeprecated in favor of -std=c99
867404b540aSrobert
868404b540aSrobertstd=gnu++98
869404b540aSrobertC++ ObjC++
870404b540aSrobertConform to the ISO 1998 C++ standard with GNU extensions
871404b540aSrobert
872404b540aSrobertstd=gnu89
873404b540aSrobertC ObjC
874404b540aSrobertConform to the ISO 1990 C standard with GNU extensions
875404b540aSrobert
876404b540aSrobertstd=gnu99
877404b540aSrobertC ObjC
878404b540aSrobertConform to the ISO 1999 C standard with GNU extensions
879404b540aSrobert
880404b540aSrobertstd=gnu9x
881404b540aSrobertC ObjC
882404b540aSrobertDeprecated in favor of -std=gnu99
883404b540aSrobert
884404b540aSrobertstd=iso9899:1990
885404b540aSrobertC ObjC
886404b540aSrobertConform to the ISO 1990 C standard
887404b540aSrobert
888404b540aSrobertstd=iso9899:199409
889404b540aSrobertC ObjC
890404b540aSrobertConform to the ISO 1990 C standard as amended in 1994
891404b540aSrobert
892404b540aSrobertstd=iso9899:1999
893404b540aSrobertC ObjC
894404b540aSrobertConform to the ISO 1999 C standard
895404b540aSrobert
896404b540aSrobertstd=iso9899:199x
897404b540aSrobertC ObjC
898404b540aSrobertDeprecated in favor of -std=iso9899:1999
899404b540aSrobert
900404b540aSroberttraditional-cpp
901404b540aSrobertC ObjC C++ ObjC++
902404b540aSrobertEnable traditional preprocessing
903404b540aSrobert
904404b540aSroberttrigraphs
905404b540aSrobertC ObjC C++ ObjC++
906404b540aSrobert-trigraphs	Support ISO C trigraphs
907404b540aSrobert
908404b540aSrobertundef
909404b540aSrobertC ObjC C++ ObjC++
910404b540aSrobertDo not predefine system-specific and GCC-specific macros
911404b540aSrobert
912404b540aSrobertv
913404b540aSrobertC ObjC C++ ObjC++
914404b540aSrobertEnable verbose output
915404b540aSrobert
916404b540aSrobertw
917404b540aSrobertC ObjC C++ ObjC++
918404b540aSrobert; Documented in common.opt
919404b540aSrobert
920404b540aSrobert; This comment is to ensure we retain the blank line above.
921