c.opt revision 259405
1132718Skan; Options for the C, ObjC, C++ and ObjC++ front ends.
2169699Skan; Copyright (C) 2003, 2004, 2005, 2006 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.
10169699Skan;
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.
15169699Skan;
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
18169699Skan; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
19169699Skan; 02110-1301, USA.
20132718Skan
21169699Skan; See the GCC internals manual for a description of this file's format.
22132718Skan
23169699Skan; $FreeBSD: stable/10/contrib/gcc/c.opt 259405 2013-12-15 03:47:31Z pfg $
24132718Skan; Please try to keep this file in ASCII collating order.
25132718Skan
26132718SkanLanguage
27132718SkanC
28132718Skan
29132718SkanLanguage
30132718SkanObjC
31132718Skan
32132718SkanLanguage
33132718SkanC++
34132718Skan
35132718SkanLanguage
36132718SkanObjC++
37132718Skan
38132718Skan-output-pch=
39132718SkanC ObjC C++ ObjC++ Joined Separate
40132718Skan
41132718SkanA
42132718SkanC ObjC C++ ObjC++ Joined Separate
43132718Skan-A<question>=<answer>	Assert the <answer> to <question>.  Putting '-' before <question> disables the <answer> to <question>
44132718Skan
45132718SkanC
46132718SkanC ObjC C++ ObjC++
47132718SkanDo not discard comments
48132718Skan
49132718SkanCC
50132718SkanC ObjC C++ ObjC++
51132718SkanDo not discard comments in macro expansions
52132718Skan
53132718SkanD
54132718SkanC ObjC C++ ObjC++ Joined Separate
55132718Skan-D<macro>[=<val>]	Define a <macro> with <val> as its value.  If just <macro> is given, <val> is taken to be 1
56132718Skan
57132718SkanE
58132718SkanC ObjC C++ ObjC++ Undocumented
59132718Skan
60169699SkanF
61169699SkanC ObjC C++ ObjC++ Joined Separate
62169699Skan-F <dir>	Add <dir> to the end of the main framework include path
63169699Skan
64132718SkanH
65132718SkanC ObjC C++ ObjC++
66132718SkanPrint the name of header files as they are used
67132718Skan
68132718SkanI
69132718SkanC ObjC C++ ObjC++ Joined Separate
70169699Skan-I <dir>	Add <dir> to the end of the main include path
71132718Skan
72132718SkanM
73132718SkanC ObjC C++ ObjC++
74132718SkanGenerate make dependencies
75132718Skan
76132718SkanMD
77132718SkanC ObjC C++ ObjC++ Separate
78132718SkanGenerate make dependencies and compile
79132718Skan
80132718SkanMF
81132718SkanC ObjC C++ ObjC++ Joined Separate
82132718Skan-MF <file>	Write dependency output to the given file
83132718Skan
84132718SkanMG
85132718SkanC ObjC C++ ObjC++
86132718SkanTreat missing header files as generated files
87132718Skan
88132718SkanMM
89132718SkanC ObjC C++ ObjC++
90132718SkanLike -M but ignore system header files
91132718Skan
92132718SkanMMD
93132718SkanC ObjC C++ ObjC++ Separate
94132718SkanLike -MD but ignore system header files
95132718Skan
96132718SkanMP
97132718SkanC ObjC C++ ObjC++
98132718SkanGenerate phony targets for all headers
99132718Skan
100132718SkanMQ
101132718SkanC ObjC C++ ObjC++ Joined Separate
102132718Skan-MQ <target>	Add a MAKE-quoted target
103132718Skan
104132718SkanMT
105132718SkanC ObjC C++ ObjC++ Joined Separate
106132718Skan-MT <target>	Add an unquoted target
107132718Skan
108132718SkanP
109132718SkanC ObjC C++ ObjC++
110132718SkanDo not generate #line directives
111132718Skan
112132718SkanU
113132718SkanC ObjC C++ ObjC++ Joined Separate
114132718Skan-U<macro>	Undefine <macro>
115132718Skan
116132718SkanWabi
117169699SkanC++ ObjC++ Var(warn_abi)
118169699SkanWarn about things that will change when compiling with an ABI-compliant compiler
119132718Skan
120169699SkanWaddress
121169699SkanC ObjC C++ ObjC++ Var(warn_address)
122169699SkanWarn about suspicious uses of memory addresses
123169699Skan
124132718SkanWall
125132718SkanC ObjC C++ ObjC++
126132718SkanEnable most warning messages
127132718Skan
128169699SkanWassign-intercept
129169699SkanObjC ObjC++ Var(warn_assign_intercept)
130169699SkanWarn whenever an Objective-C assignment is being intercepted by the garbage collector
131169699Skan
132132718SkanWbad-function-cast
133169699SkanC ObjC Var(warn_bad_function_cast)
134132718SkanWarn about casting functions to incompatible types
135132718Skan
136169699SkanWc++-compat
137169699SkanC ObjC Var(warn_cxx_compat)
138169699SkanWarn about C constructs that are not in the common subset of C and C++
139169699Skan
140169699Skan
141132718SkanWcast-qual
142169699SkanC ObjC C++ ObjC++ Var(warn_cast_qual)
143132718SkanWarn about casts which discard qualifiers
144132718Skan
145132718SkanWchar-subscripts
146169699SkanC ObjC C++ ObjC++ Var(warn_char_subscripts)
147132718SkanWarn about subscripts whose type is \"char\"
148132718Skan
149132718SkanWcomment
150132718SkanC ObjC C++ ObjC++
151132718SkanWarn about possibly nested block comments, and C++ comments spanning more than one physical line
152132718Skan
153132718SkanWcomments
154132718SkanC ObjC C++ ObjC++
155132718SkanSynonym for -Wcomment
156132718Skan
157132718SkanWconversion
158169699SkanC ObjC C++ ObjC++ Var(warn_conversion)
159132718SkanWarn about possibly confusing type conversions
160132718Skan
161132718SkanWctor-dtor-privacy
162169699SkanC++ ObjC++ Var(warn_ctor_dtor_privacy)
163132718SkanWarn when all constructors and destructors are private
164132718Skan
165132718SkanWdeclaration-after-statement
166169699SkanC ObjC Var(warn_declaration_after_statement)
167132718SkanWarn when a declaration is found after a statement
168132718Skan
169132718SkanWdeprecated
170169699SkanC++ ObjC++ Var(warn_deprecated) Init(1)
171132718SkanWarn about deprecated compiler features
172132718Skan
173132718SkanWdiv-by-zero
174169699SkanC ObjC C++ ObjC++ Var(warn_div_by_zero) Init(1)
175132718SkanWarn about compile-time integer division by zero
176132718Skan
177132718SkanWeffc++
178169699SkanC++ ObjC++ Var(warn_ecpp)
179132718SkanWarn about violations of Effective C++ style rules
180132718Skan
181132718SkanWendif-labels
182132718SkanC ObjC C++ ObjC++
183132718SkanWarn about stray tokens after #elif and #endif
184132718Skan
185132718SkanWerror
186132718SkanC ObjC C++ ObjC++
187132718Skan; Documented in common.opt
188132718Skan
189132718SkanWerror-implicit-function-declaration
190132718SkanC ObjC RejectNegative
191132718SkanMake implicit function declarations an error
192132718Skan
193132718SkanWfloat-equal
194169699SkanC ObjC C++ ObjC++ Var(warn_float_equal)
195132718SkanWarn if testing floating point numbers for equality
196132718Skan
197132718SkanWformat
198132718SkanC ObjC C++ ObjC++
199132718SkanWarn about printf/scanf/strftime/strfmon format string anomalies
200132718Skan
201132718SkanWformat-extra-args
202169699SkanC ObjC C++ ObjC++ Var(warn_format_extra_args)
203132718SkanWarn if passing too many arguments to a function for its format string
204132718Skan
205132718SkanWformat-nonliteral
206169699SkanC ObjC C++ ObjC++ Var(warn_format_nonliteral)
207132718SkanWarn about format strings that are not literals
208132718Skan
209132718SkanWformat-security
210169699SkanC ObjC C++ ObjC++ Var(warn_format_security)
211132718SkanWarn about possible security problems with format functions
212132718Skan
213132718SkanWformat-y2k
214169699SkanC ObjC C++ ObjC++ Var(warn_format_y2k)
215132718SkanWarn about strftime formats yielding 2-digit years
216132718Skan
217132718SkanWformat-zero-length
218169699SkanC ObjC Var(warn_format_zero_length)
219169699SkanWarn about zero-length formats
220132718Skan
221132718SkanWformat=
222132718SkanC ObjC C++ ObjC++ Joined
223132718Skan
224132718SkanWinit-self
225169699SkanC ObjC C++ ObjC++ Var(warn_init_self)
226169699SkanWarn about variables which are initialized to themselves
227132718Skan
228132718SkanWimplicit
229132718SkanC ObjC C++ ObjC++
230132718Skan
231132718SkanWimplicit-function-declaration
232169699SkanC ObjC Var(mesg_implicit_function_declaration) Init(-1)
233132718SkanWarn about implicit function declarations
234132718Skan
235132718SkanWimplicit-int
236169699SkanC ObjC Var(warn_implicit_int)
237132718SkanWarn when a declaration does not specify a type
238132718Skan
239132718SkanWimport
240132718SkanC ObjC C++ ObjC++
241169699SkanDeprecated.  This switch has no effect
242132718Skan
243169699SkanWint-to-pointer-cast
244169699SkanC ObjC Var(warn_int_to_pointer_cast) Init(1)
245169699SkanWarn when there is a cast to a pointer from an integer of a different size
246169699Skan
247132718SkanWinvalid-offsetof
248169699SkanC++ ObjC++ Var(warn_invalid_offsetof) Init(1)
249132718SkanWarn about invalid uses of the \"offsetof\" macro
250132718Skan
251132718SkanWinvalid-pch
252132718SkanC ObjC C++ ObjC++
253132718SkanWarn about PCH files that are found but not used
254132718Skan
255132718SkanWlong-long
256169699SkanC ObjC C++ ObjC++ Var(warn_long_long) Init(1)
257132718SkanDo not warn about using \"long long\" when -pedantic
258132718Skan
259132718SkanWmain
260132718SkanC ObjC
261132718SkanWarn about suspicious declarations of \"main\"
262132718Skan
263132718SkanWmissing-braces
264169699SkanC ObjC C++ ObjC++ Var(warn_missing_braces)
265132718SkanWarn about possibly missing braces around initializers
266132718Skan
267132718SkanWmissing-declarations
268169699SkanC ObjC Var(warn_missing_declarations)
269132718SkanWarn about global functions without previous declarations
270132718Skan
271169699SkanWmissing-field-initializers
272169699SkanC ObjC C++ ObjC++ Var(warn_missing_field_initializers) Init(-1)
273169699SkanWarn about missing fields in struct initializers
274169699Skan
275132718SkanWmissing-format-attribute
276169699SkanC ObjC C++ ObjC++ Var(warn_missing_format_attribute)
277132718SkanWarn about functions which might be candidates for format attributes
278132718Skan
279169699SkanWmissing-include-dirs
280169699SkanC ObjC C++ ObjC++
281169699SkanWarn about user-specified include directories that do not exist
282169699Skan
283132718SkanWmissing-prototypes
284169699SkanC ObjC Var(warn_missing_prototypes)
285132718SkanWarn about global functions without prototypes
286132718Skan
287132718SkanWmultichar
288132718SkanC ObjC C++ ObjC++
289132718SkanWarn about use of multi-character character constants
290132718Skan
291132718SkanWnested-externs
292169699SkanC ObjC Var(warn_nested_externs)
293132718SkanWarn about \"extern\" declarations not at file scope
294132718Skan
295132718SkanWnon-template-friend
296169699SkanC++ ObjC++ Var(warn_nontemplate_friend) Init(1)
297132718SkanWarn when non-templatized friend functions are declared within a template
298132718Skan
299132718SkanWnon-virtual-dtor
300169699SkanC++ ObjC++ Var(warn_nonvdtor)
301132718SkanWarn about non-virtual destructors
302132718Skan
303132718SkanWnonnull
304169699SkanC ObjC Var(warn_nonnull)
305169699SkanWarn about NULL being passed to argument slots marked as requiring non-NULL
306132718Skan
307169699SkanWnormalized=
308169699SkanC ObjC C++ ObjC++ Joined
309169699Skan-Wnormalized=<id|nfc|nfkc>	Warn about non-normalised Unicode strings
310169699Skan
311132718SkanWold-style-cast
312169699SkanC++ ObjC++ Var(warn_old_style_cast)
313132718SkanWarn if a C-style cast is used in a program
314132718Skan
315132718SkanWold-style-definition
316169699SkanC ObjC Var(warn_old_style_definition)
317132718SkanWarn if an old-style parameter definition is used
318132718Skan
319169699SkanWoverlength-strings
320169699SkanC ObjC C++ ObjC++ Var(warn_overlength_strings) Init(-1)
321169699SkanWarn if a string is longer than the maximum portable length specified by the standard
322169699Skan
323132718SkanWoverloaded-virtual
324169699SkanC++ ObjC++ Var(warn_overloaded_virtual)
325132718SkanWarn about overloaded virtual function names
326132718Skan
327169699SkanWoverride-init
328169699SkanC ObjC Var(warn_override_init) Init(-1)
329169699SkanWarn about overriding initializers without side effects
330169699Skan
331132718SkanWparentheses
332169699SkanC ObjC C++ ObjC++ Var(warn_parentheses)
333132718SkanWarn about possibly missing parentheses
334132718Skan
335132718SkanWpmf-conversions
336169699SkanC++ ObjC++ Var(warn_pmf2ptr) Init(1)
337132718SkanWarn when converting the type of pointers to member functions
338132718Skan
339132718SkanWpointer-arith
340169699SkanC ObjC C++ ObjC++ Var(warn_pointer_arith)
341132718SkanWarn about function pointer arithmetic
342132718Skan
343169699SkanWpointer-to-int-cast
344169699SkanC ObjC Var(warn_pointer_to_int_cast) Init(1)
345169699SkanWarn when a pointer is cast to an integer of a different size
346169699Skan
347169699SkanWpragmas
348169699SkanC ObjC C++ ObjC++ Var(warn_pragmas) Init(1)
349169699SkanWarn about misuses of pragmas
350169699Skan
351132718SkanWprotocol
352169699SkanObjC ObjC++ Var(warn_protocol) Init(1)
353132718SkanWarn if inherited methods are unimplemented
354132718Skan
355132718SkanWredundant-decls
356169699SkanC ObjC C++ ObjC++ Var(warn_redundant_decls)
357132718SkanWarn about multiple declarations of the same object
358132718Skan
359132718SkanWreorder
360169699SkanC++ ObjC++ Var(warn_reorder)
361132718SkanWarn when the compiler reorders code
362132718Skan
363132718SkanWreturn-type
364169699SkanC ObjC C++ ObjC++ Var(warn_return_type)
365132718SkanWarn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)
366132718Skan
367132718SkanWselector
368169699SkanObjC ObjC++ Var(warn_selector)
369132718SkanWarn if a selector has multiple methods
370132718Skan
371132718SkanWsequence-point
372169699SkanC ObjC C++ ObjC++ Var(warn_sequence_point)
373132718SkanWarn about possible violations of sequence point rules
374132718Skan
375132718SkanWsign-compare
376169699SkanC ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1)
377132718SkanWarn about signed-unsigned comparisons
378132718Skan
379132718SkanWsign-promo
380169699SkanC++ ObjC++ Var(warn_sign_promo)
381132718SkanWarn when overload promotes from unsigned to signed
382132718Skan
383169699SkanWstrict-null-sentinel
384169699SkanC++ ObjC++
385169699SkanWarn about uncasted NULL used as sentinel
386169699Skan
387132718SkanWstrict-prototypes
388169699SkanC ObjC Var(warn_strict_prototypes)
389132718SkanWarn about unprototyped function declarations
390132718Skan
391169699SkanWstrict-selector-match
392169699SkanObjC ObjC++ Var(warn_strict_selector_match)
393169699SkanWarn if type signatures of candidate methods do not match exactly
394169699Skan
395132718SkanWsynth
396169699SkanC++ ObjC++ Var(warn_synth)
397132718SkanWarn when synthesis behavior differs from Cfront
398132718Skan
399132718SkanWsystem-headers
400132718SkanC ObjC C++ ObjC++
401132718SkanDo not suppress warnings from system headers
402132718Skan
403132718SkanWtraditional
404169699SkanC ObjC Var(warn_traditional)
405132718SkanWarn about features not present in traditional C
406132718Skan
407223715SuqsWtrampolines
408223715SuqsCommon Var(warn_trampolines)
409223715SuqsWarn when trampolines are emitted
410223715Suqs
411132718SkanWtrigraphs
412132718SkanC ObjC C++ ObjC++
413132718SkanWarn if trigraphs are encountered that might affect the meaning of the program
414132718Skan
415132718SkanWundeclared-selector
416169699SkanObjC ObjC++ Var(warn_undeclared_selector)
417169699SkanWarn about @selector()s without previously declared methods
418132718Skan
419132718SkanWundef
420132718SkanC ObjC C++ ObjC++
421132718SkanWarn if an undefined macro is used in an #if directive
422132718Skan
423132718SkanWunknown-pragmas
424132718SkanC ObjC C++ ObjC++
425132718SkanWarn about unrecognized pragmas
426132718Skan
427132718SkanWunused-macros
428132718SkanC ObjC C++ ObjC++
429132718SkanWarn about macros defined in the main file that are not used
430132718Skan
431169699SkanWvariadic-macros
432132718SkanC ObjC C++ ObjC++
433169699SkanDo not warn about using variadic macros when -pedantic
434132718Skan
435259268SpfgWvla
436259268SpfgC ObjC C++ ObjC++ Var(warn_vla) Init(-1) Warning
437259268SpfgWarn if a variable length array is used
438259268Spfg
439169699SkanWwrite-strings
440169699SkanC ObjC C++ ObjC++ Var(warn_write_strings)
441169699SkanIn 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.
442169699Skan
443169699SkanWpointer-sign
444169699SkanC ObjC Var(warn_pointer_sign) Init(-1)
445169699SkanWarn when a pointer differs in signedness in an assignment
446169699Skan
447132718Skanansi
448132718SkanC ObjC C++ ObjC++
449169699SkanA synonym for -std=c89 (for C) or -std=c++98 (for C++)
450132718Skan
451132718Skand
452132718SkanC ObjC C++ ObjC++ Joined
453132718Skan; Documented in common.opt.  FIXME - what about -dI, -dD, -dN and -dD?
454132718Skan
455132718Skanfaccess-control
456132718SkanC++ ObjC++
457132718SkanEnforce class member access control semantics
458132718Skan
459132718Skanfall-virtual
460132718SkanC++ ObjC++
461132718Skan
462132718Skanfalt-external-templates
463132718SkanC++ ObjC++
464132718SkanChange when template instances are emitted
465132718Skan
466132718Skanfasm
467132718SkanC ObjC C++ ObjC++
468132718SkanRecognize the \"asm\" keyword
469132718Skan
470132718Skanfbuiltin
471132718SkanC ObjC C++ ObjC++
472132718SkanRecognize built-in functions
473132718Skan
474132718Skanfbuiltin-
475132718SkanC ObjC C++ ObjC++ Joined
476132718Skan
477132718Skanfcheck-new
478132718SkanC++ ObjC++
479132718SkanCheck the return value of new
480132718Skan
481132718Skanfcond-mismatch
482132718SkanC ObjC C++ ObjC++
483132718SkanAllow the arguments of the '?' operator to have different types
484132718Skan
485132718Skanfconserve-space
486132718SkanC++ ObjC++
487132718SkanReduce the size of object files
488132718Skan
489132718Skanfconstant-string-class=
490132718SkanObjC ObjC++ Joined
491132718Skan-fconst-string-class=<name>	Use class <name> for constant strings
492132718Skan
493132718Skanfdefault-inline
494132718SkanC++ ObjC++
495132718SkanInline member functions by default
496132718Skan
497259405Spfgfdirectives-only
498259405SpfgC ObjC C++ ObjC++
499259405SpfgPreprocess directives only.
500259405Spfg
501132718Skanfdollars-in-identifiers
502132718SkanC ObjC C++ ObjC++
503132718SkanPermit '$' as an identifier character
504132718Skan
505132718Skanfelide-constructors
506132718SkanC++ ObjC++
507132718Skan
508132718Skanfenforce-eh-specs
509132718SkanC++ ObjC++
510132718SkanGenerate code to check exception specifications
511132718Skan
512132718Skanfenum-int-equiv
513132718SkanC++ ObjC++
514132718Skan
515132718Skanfexec-charset=
516132718SkanC ObjC C++ ObjC++ Joined RejectNegative
517132718Skan-fexec-charset=<cset>	Convert all strings and character constants to character set <cset>
518132718Skan
519169699Skanfextended-identifiers
520169699SkanC ObjC C++ ObjC++
521169699SkanPermit universal character names (\\u and \\U) in identifiers
522169699Skan
523132718Skanfinput-charset=
524132718SkanC ObjC C++ ObjC++ Joined RejectNegative
525169699Skan-finput-charset=<cset>	Specify the default character set for source files
526132718Skan
527132718Skan
528132718Skanfexternal-templates
529132718SkanC++ ObjC++
530132718Skan
531132718Skanffor-scope
532132718SkanC++ ObjC++
533132718SkanScope of for-init-statement variables is local to the loop
534132718Skan
535132718Skanffreestanding
536132718SkanC ObjC
537132718SkanDo not assume that standard C libraries and \"main\" exist
538132718Skan
539132718Skanfgnu-keywords
540132718SkanC++ ObjC++
541132718SkanRecognize GNU-defined keywords
542132718Skan
543132718Skanfgnu-runtime
544132718SkanObjC ObjC++
545132718SkanGenerate code for GNU runtime environment
546132718Skan
547169699Skanfgnu89-inline
548169699SkanC ObjC Var(flag_gnu89_inline) Init(-1)
549169699SkanUse traditional GNU semantics for inline functions
550169699Skan
551132718Skanfguiding-decls
552132718SkanC++ ObjC++
553132718Skan
554132718Skanfhandle-exceptions
555132718SkanC++ ObjC++
556132718Skan
557132718Skanfhonor-std
558132718SkanC++ ObjC++
559132718Skan
560132718Skanfhosted
561132718SkanC ObjC
562132718SkanAssume normal C execution environment
563132718Skan
564132718Skanfhuge-objects
565132718SkanC++ ObjC++
566132718SkanEnable support for huge objects
567132718Skan
568132718Skanfimplement-inlines
569132718SkanC++ ObjC++
570132718SkanExport functions even if they can be inlined
571132718Skan
572132718Skanfimplicit-inline-templates
573132718SkanC++ ObjC++
574132718SkanEmit implicit instantiations of inline templates
575132718Skan
576132718Skanfimplicit-templates
577132718SkanC++ ObjC++
578132718SkanEmit implicit instantiations of templates
579132718Skan
580169699Skanffriend-injection
581169699SkanC++ ObjC++ Var(flag_friend_injection)
582169699SkanInject friend functions into enclosing namespace
583169699Skan
584132718Skanflabels-ok
585132718SkanC++ ObjC++
586132718Skan
587132718Skanfms-extensions
588132718SkanC ObjC C++ ObjC++
589132718SkanDon't warn about uses of Microsoft extensions
590132718Skan
591132718Skanfname-mangling-version-
592132718SkanC++ ObjC++ Joined
593132718Skan
594132718Skanfnew-abi
595132718SkanC++ ObjC++
596132718Skan
597132718Skanfnext-runtime
598132718SkanObjC ObjC++
599132718SkanGenerate code for NeXT (Apple Mac OS X) runtime environment
600132718Skan
601132718Skanfnil-receivers
602132718SkanObjC ObjC++
603132718SkanAssume that receivers of Objective-C messages may be nil
604132718Skan
605132718Skanfnonansi-builtins
606132718SkanC++ ObjC++
607132718Skan
608132718Skanfnonnull-objects
609132718SkanC++ ObjC++
610132718Skan
611169699Skan; Generate special '- .cxx_construct' and '- .cxx_destruct' methods
612169699Skan; to initialize any non-POD ivars in Objective-C++ classes.
613169699Skanfobjc-call-cxx-cdtors
614169699SkanObjC++ Var(flag_objc_call_cxx_cdtors)
615169699SkanGenerate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed
616169699Skan
617169699Skanfobjc-direct-dispatch
618169699SkanObjC ObjC++ Var(flag_objc_direct_dispatch)
619169699SkanAllow fast jumps to the message dispatcher
620169699Skan
621169699Skan; Nonzero means that we will allow new ObjC exception syntax (@throw,
622169699Skan; @try, etc.) in source code.
623132718Skanfobjc-exceptions
624169699SkanObjC ObjC++ Var(flag_objc_exceptions)
625132718SkanEnable Objective-C exception and synchronization syntax
626132718Skan
627169699Skanfobjc-gc
628169699SkanObjC ObjC++ Var(flag_objc_gc)
629169699SkanEnable garbage collection (GC) in Objective-C/Objective-C++ programs
630169699Skan
631169699Skan; Nonzero means that we generate NeXT setjmp based exceptions.
632169699Skanfobjc-sjlj-exceptions
633169699SkanObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1)
634169699SkanEnable Objective-C setjmp exception handling runtime
635169699Skan
636169699Skanfopenmp
637169699SkanC ObjC C++ ObjC++ Var(flag_openmp)
638169699SkanEnable OpenMP
639169699Skan
640132718Skanfoperator-names
641132718SkanC++ ObjC++
642132718SkanRecognize C++ kewords like \"compl\" and \"xor\"
643132718Skan
644132718Skanfoptional-diags
645132718SkanC++ ObjC++
646132718SkanEnable optional diagnostics
647132718Skan
648132718Skanfpch-deps
649132718SkanC ObjC C++ ObjC++
650132718Skan
651169699Skanfpch-preprocess
652169699SkanC ObjC C++ ObjC++
653169699SkanLook for and use PCH files even when preprocessing
654169699Skan
655132718Skanfpermissive
656132718SkanC++ ObjC++
657132718SkanDowngrade conformance errors to warnings
658132718Skan
659132718Skanfpreprocessed
660132718SkanC ObjC C++ ObjC++
661132718SkanTreat the input file as already preprocessed
662132718Skan
663132718Skanfreplace-objc-classes
664132718SkanObjC ObjC++
665132718SkanUsed in Fix-and-Continue mode to indicate that object files may be swapped in at runtime
666132718Skan
667132718Skanfrepo
668132718SkanC++ ObjC++
669132718SkanEnable automatic template instantiation
670132718Skan
671132718Skanfrtti
672132718SkanC++ ObjC++
673132718SkanGenerate run time type descriptor information
674132718Skan
675132718Skanfshort-double
676132718SkanC ObjC C++ ObjC++
677132718SkanUse the same size for double as for float
678132718Skan
679132718Skanfshort-enums
680132718SkanC ObjC C++ ObjC++
681132718SkanUse the narrowest integer type possible for enumeration types
682132718Skan
683132718Skanfshort-wchar
684132718SkanC ObjC C++ ObjC++
685132718SkanForce the underlying type for \"wchar_t\" to be \"unsigned short\"
686132718Skan
687132718Skanfsigned-bitfields
688132718SkanC ObjC C++ ObjC++
689132718SkanWhen \"signed\" or \"unsigned\" is not given make the bitfield signed
690132718Skan
691132718Skanfsigned-char
692132718SkanC ObjC C++ ObjC++
693132718SkanMake \"char\" signed by default
694132718Skan
695132718Skanfsquangle
696132718SkanC++ ObjC++
697132718Skan
698132718Skanfstats
699132718SkanC++ ObjC++
700132718SkanDisplay statistics accumulated during compilation
701132718Skan
702132718Skanfstrict-prototype
703132718SkanC++ ObjC++
704132718Skan
705132718Skanftabstop=
706132718SkanC ObjC C++ ObjC++ Joined RejectNegative UInteger
707132718Skan-ftabstop=<number>	Distance between tab stops for column reporting
708132718Skan
709132718Skanftemplate-depth-
710169699SkanC++ ObjC++ Joined RejectNegative UInteger
711132718Skan-ftemplate-depth-<number>	Specify maximum template instantiation depth
712132718Skan
713132718Skanfthis-is-variable
714132718SkanC++ ObjC++
715132718Skan
716169699Skanfthreadsafe-statics
717169699SkanC++ ObjC++
718169699Skan-fno-threadsafe-statics	Do not generate thread-safe code for initializing local statics
719169699Skan
720132718Skanfunsigned-bitfields
721132718SkanC ObjC C++ ObjC++
722132718SkanWhen \"signed\" or \"unsigned\" is not given make the bitfield unsigned
723132718Skan
724132718Skanfunsigned-char
725132718SkanC ObjC C++ ObjC++
726132718SkanMake \"char\" unsigned by default
727132718Skan
728132718Skanfuse-cxa-atexit
729132718SkanC++ ObjC++
730132718SkanUse __cxa_atexit to register destructors
731132718Skan
732169699Skanfuse-cxa-get-exception-ptr
733169699SkanC++ ObjC++
734169699SkanUse __cxa_get_exception_ptr in exception handling
735169699Skan
736169699Skanfvisibility-inlines-hidden
737169699SkanC++ ObjC++
738169699SkanMarks all inlined methods as having hidden visibility
739169699Skan
740132718Skanfvtable-gc
741132718SkanC++ ObjC++
742132718SkanDiscard unused virtual functions
743132718Skan
744132718Skanfvtable-thunks
745132718SkanC++ ObjC++
746132718SkanImplement vtables using thunks
747132718Skan
748132718Skanfweak
749132718SkanC++ ObjC++
750132718SkanEmit common-like symbols as weak symbols
751132718Skan
752132718Skanfwide-exec-charset=
753132718SkanC ObjC C++ ObjC++ Joined RejectNegative
754132718Skan-fwide-exec-charset=<cset>	Convert all wide strings and character constants to character set <cset>
755132718Skan
756132718Skanfworking-directory
757132718SkanC ObjC C++ ObjC++
758132718SkanGenerate a #line directive pointing at the current working directory
759132718Skan
760132718Skanfxref
761132718SkanC++ ObjC++
762132718SkanEmit cross referencing information
763132718Skan
764132718Skanfzero-link
765132718SkanObjC ObjC++
766132718SkanGenerate lazy class lookup (via objc_getClass()) for use in Zero-Link mode
767132718Skan
768132718Skangen-decls
769132718SkanObjC ObjC++
770132718SkanDump declarations to a .decl file
771132718Skan
772259268Spfgfemit-struct-debug-baseonly
773259268SpfgC ObjC C++ ObjC++
774259268Spfg-femit-struct-debug-baseonly	Aggressive reduced debug info for structs
775259268Spfg
776259268Spfgfemit-struct-debug-reduced
777259268SpfgC ObjC C++ ObjC++
778259268Spfg-femit-struct-debug-reduced	Conservative reduced debug info for structs
779259268Spfg
780259268Spfgfemit-struct-debug-detailed=
781259268SpfgC ObjC C++ ObjC++ Joined
782259268Spfg-femit-struct-debug-detailed=<spec-list>	Detailed reduced debug info for structs
783259268Spfg
784132718Skanidirafter
785132718SkanC ObjC C++ ObjC++ Joined Separate
786132718Skan-idirafter <dir>	Add <dir> to the end of the system include path
787132718Skan
788132718Skanimacros
789132718SkanC ObjC C++ ObjC++ Joined Separate
790132718Skan-imacros <file>	Accept definition of macros in <file>
791132718Skan
792169699Skanimultilib
793169699SkanC ObjC C++ ObjC++ Joined Separate
794169699Skan-imultilib <dir> Set <dir> to be the multilib include subdirectory
795169699Skan
796132718Skaninclude
797132718SkanC ObjC C++ ObjC++ Joined Separate
798132718Skan-include <file>	Include the contents of <file> before other files
799132718Skan
800132718Skaniprefix
801132718SkanC ObjC C++ ObjC++ Joined Separate
802132718Skan-iprefix <path>	Specify <path> as a prefix for next two options
803132718Skan
804132718Skanisysroot
805132718SkanC ObjC C++ ObjC++ Joined Separate
806132718Skan-isysroot <dir>	Set <dir> to be the system root directory
807132718Skan
808132718Skanisystem
809132718SkanC ObjC C++ ObjC++ Joined Separate
810132718Skan-isystem <dir>	Add <dir> to the start of the system include path
811132718Skan
812169699Skaniquote
813169699SkanC ObjC C++ ObjC++ Joined Separate
814169699Skan-iquote <dir>	Add <dir> to the end of the quote include path
815169699Skan
816132718Skaniwithprefix
817132718SkanC ObjC C++ ObjC++ Joined Separate
818132718Skan-iwithprefix <dir>	Add <dir> to the end of the system include path
819132718Skan
820132718Skaniwithprefixbefore
821132718SkanC ObjC C++ ObjC++ Joined Separate
822132718Skan-iwithprefixbefore <dir>	Add <dir> to the end of the main include path
823132718Skan
824132718Skanlang-asm
825132718SkanC Undocumented
826132718Skan
827169699Skanlang-fortran
828169699SkanC Undocumented
829169699Skan
830132718Skanlang-objc
831132718SkanC ObjC C++ ObjC++ Undocumented
832132718Skan
833132718Skannostdinc
834132718SkanC ObjC C++ ObjC++
835132718SkanDo not search standard system include directories (those specified with -isystem will still be used)
836132718Skan
837132718Skannostdinc++
838132718SkanC++ ObjC++
839132718SkanDo not search standard system include directories for C++
840132718Skan
841132718Skano
842132718SkanC ObjC C++ ObjC++ Joined Separate
843132718Skan; Documented in common.opt
844132718Skan
845132718Skanpedantic
846132718SkanC ObjC C++ ObjC++
847132718Skan; Documented in common.opt
848132718Skan
849132718Skanpedantic-errors
850132718SkanC ObjC C++ ObjC++
851132718Skan; Documented in common.opt
852132718Skan
853132718Skanprint-objc-runtime-info
854132718SkanObjC ObjC++
855132718SkanGenerate C header of platform-specific features
856132718Skan
857169699Skanprint-pch-checksum
858169699SkanC ObjC C++ ObjC++
859169699SkanPrint a checksum of the executable for PCH validity checking, and stop
860169699Skan
861132718Skanremap
862132718SkanC ObjC C++ ObjC++
863132718SkanRemap file names when including files
864132718Skan
865132718Skanstd=c++98
866132718SkanC++ ObjC++
867132718SkanConform to the ISO 1998 C++ standard
868132718Skan
869132718Skanstd=c89
870132718SkanC ObjC
871132718SkanConform to the ISO 1990 C standard
872132718Skan
873132718Skanstd=c99
874132718SkanC ObjC
875132718SkanConform to the ISO 1999 C standard
876132718Skan
877132718Skanstd=c9x
878132718SkanC ObjC
879132718SkanDeprecated in favor of -std=c99
880132718Skan
881132718Skanstd=gnu++98
882132718SkanC++ ObjC++
883132718SkanConform to the ISO 1998 C++ standard with GNU extensions
884132718Skan
885132718Skanstd=gnu89
886132718SkanC ObjC
887132718SkanConform to the ISO 1990 C standard with GNU extensions
888132718Skan
889132718Skanstd=gnu99
890132718SkanC ObjC
891132718SkanConform to the ISO 1999 C standard with GNU extensions
892132718Skan
893132718Skanstd=gnu9x
894132718SkanC ObjC
895132718SkanDeprecated in favor of -std=gnu99
896132718Skan
897132718Skanstd=iso9899:1990
898132718SkanC ObjC
899146908SkanConform to the ISO 1990 C standard
900132718Skan
901132718Skanstd=iso9899:199409
902132718SkanC ObjC
903132718SkanConform to the ISO 1990 C standard as amended in 1994
904132718Skan
905132718Skanstd=iso9899:1999
906132718SkanC ObjC
907146908SkanConform to the ISO 1999 C standard
908132718Skan
909132718Skanstd=iso9899:199x
910132718SkanC ObjC
911146908SkanDeprecated in favor of -std=iso9899:1999
912132718Skan
913132718Skantraditional-cpp
914132718SkanC ObjC C++ ObjC++
915132718SkanEnable traditional preprocessing
916132718Skan
917132718Skantrigraphs
918132718SkanC ObjC C++ ObjC++
919132718Skan-trigraphs	Support ISO C trigraphs
920132718Skan
921132718Skanundef
922132718SkanC ObjC C++ ObjC++
923132718SkanDo not predefine system-specific and GCC-specific macros
924132718Skan
925132718Skanv
926132718SkanC ObjC C++ ObjC++
927132718SkanEnable verbose output
928132718Skan
929132718Skanw
930132718SkanC ObjC C++ ObjC++
931132718Skan; Documented in common.opt
932132718Skan
933132718Skan; This comment is to ensure we retain the blank line above.
934