Do not describe -std=c11 etc. as experimental in c.opt help text.
[gcc.git] / gcc / c-family / c.opt
1 ; Options for the C, ObjC, C++ and ObjC++ front ends.
2 ; Copyright (C) 2003-2015 Free Software Foundation, Inc.
3 ;
4 ; This file is part of GCC.
5 ;
6 ; GCC is free software; you can redistribute it and/or modify it under
7 ; the terms of the GNU General Public License as published by the Free
8 ; Software Foundation; either version 3, or (at your option) any later
9 ; version.
10 ;
11 ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12 ; WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 ; for more details.
15 ;
16 ; You should have received a copy of the GNU General Public License
17 ; along with GCC; see the file COPYING3. If not see
18 ; <http://www.gnu.org/licenses/>.
19
20 ; See the GCC internals manual for a description of this file's format.
21
22 ; Please try to keep this file in ASCII collating order.
23
24 Language
25 C
26
27 Language
28 ObjC
29
30 Language
31 C++
32
33 Language
34 ObjC++
35
36 -all-warnings
37 C ObjC C++ ObjC++ Warning Alias(Wall)
38
39 -ansi
40 C ObjC C++ ObjC++ Alias(ansi)
41
42 -assert
43 C ObjC C++ ObjC++ Separate Alias(A) MissingArgError(assertion missing after %qs)
44
45 -assert=
46 C ObjC C++ ObjC++ Joined Alias(A) MissingArgError(assertion missing after %qs)
47
48 -comments
49 C ObjC C++ ObjC++ Alias(C)
50
51 -comments-in-macros
52 C ObjC C++ ObjC++ Alias(CC)
53
54 -define-macro
55 C ObjC C++ ObjC++ Separate Alias(D) MissingArgError(macro name missing after %qs)
56
57 -define-macro=
58 C ObjC C++ ObjC++ Joined Alias(D) MissingArgError(macro name missing after %qs)
59
60 -dependencies
61 C ObjC C++ ObjC++ Alias(M)
62
63 -dump
64 C ObjC C++ ObjC++ Separate Alias(d)
65
66 -dump=
67 C ObjC C++ ObjC++ Joined Alias(d)
68
69 -imacros
70 C ObjC C++ ObjC++ Separate Alias(imacros) MissingArgError(missing filename after %qs)
71
72 -imacros=
73 C ObjC C++ ObjC++ Joined Alias(imacros) MissingArgError(missing filename after %qs)
74
75 -include
76 C ObjC C++ ObjC++ Separate Alias(include) MissingArgError(missing filename after %qs)
77
78 -include=
79 C ObjC C++ ObjC++ Joined Alias(include) MissingArgError(missing filename after %qs)
80
81 -include-barrier
82 C ObjC C++ ObjC++ Alias(I, -)
83
84 -include-directory
85 C ObjC C++ ObjC++ Separate Alias(I) MissingArgError(missing path after %qs)
86
87 -include-directory=
88 C ObjC C++ ObjC++ Joined Alias(I) MissingArgError(missing path after %qs)
89
90 -include-directory-after
91 C ObjC C++ ObjC++ Separate Alias(idirafter) MissingArgError(missing path after %qs)
92
93 -include-directory-after=
94 C ObjC C++ ObjC++ Joined Alias(idirafter) MissingArgError(missing path after %qs)
95
96 -include-prefix
97 C ObjC C++ ObjC++ Separate Alias(iprefix)
98
99 -include-prefix=
100 C ObjC C++ ObjC++ JoinedOrMissing Alias(iprefix)
101
102 -include-with-prefix
103 C ObjC C++ ObjC++ Separate Alias(iwithprefix)
104
105 -include-with-prefix=
106 C ObjC C++ ObjC++ JoinedOrMissing Alias(iwithprefix)
107
108 -include-with-prefix-after
109 C ObjC C++ ObjC++ Separate Alias(iwithprefix)
110
111 -include-with-prefix-after=
112 C ObjC C++ ObjC++ JoinedOrMissing Alias(iwithprefix)
113
114 -include-with-prefix-before
115 C ObjC C++ ObjC++ Separate Alias(iwithprefixbefore)
116
117 -include-with-prefix-before=
118 C ObjC C++ ObjC++ JoinedOrMissing Alias(iwithprefixbefore)
119
120 -no-integrated-cpp
121 Driver Alias(no-integrated-cpp)
122
123 -no-line-commands
124 C ObjC C++ ObjC++ Alias(P)
125
126 -no-standard-includes
127 C ObjC C++ ObjC++ Alias(nostdinc)
128
129 -no-warnings
130 C ObjC C++ ObjC++ Alias(w)
131
132 -output
133 C ObjC C++ ObjC++ Separate Alias(o)
134
135 -output=
136 C ObjC C++ ObjC++ Joined Alias(o)
137
138 -output-pch=
139 C ObjC C++ ObjC++ Joined Separate
140
141 -pedantic
142 C ObjC C++ ObjC++ Alias(pedantic)
143
144 -preprocess
145 C ObjC C++ ObjC++ Undocumented Alias(E)
146
147 -print-missing-file-dependencies
148 C ObjC C++ ObjC++ Alias(MG)
149
150 -trace-includes
151 C ObjC C++ ObjC++ Alias(H)
152
153 -traditional
154 Driver Alias(traditional)
155
156 -traditional-cpp
157 C ObjC C++ ObjC++ Alias(traditional-cpp)
158
159 -trigraphs
160 C ObjC C++ ObjC++ Alias(trigraphs)
161
162 -undefine-macro
163 C ObjC C++ ObjC++ Separate Alias(U) MissingArgError(macro name missing after %qs)
164
165 -undefine-macro=
166 C ObjC C++ ObjC++ Joined Alias(U) MissingArgError(macro name missing after %qs)
167
168 -user-dependencies
169 C ObjC C++ ObjC++ Alias(MM)
170
171 -verbose
172 Common C ObjC C++ ObjC++ Alias(v)
173
174 -write-dependencies
175 C ObjC C++ ObjC++ NoDriverArg Separate Alias(MD) MissingArgError(missing filename after %qs)
176
177 -write-user-dependencies
178 C ObjC C++ ObjC++ NoDriverArg Separate Alias(MMD) MissingArgError(missing filename after %qs)
179
180 A
181 C ObjC C++ ObjC++ Joined Separate MissingArgError(assertion missing after %qs)
182 -A<question>=<answer> Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>
183
184 C
185 C ObjC C++ ObjC++
186 Do not discard comments
187
188 CC
189 C ObjC C++ ObjC++
190 Do not discard comments in macro expansions
191
192 D
193 C ObjC C++ ObjC++ Joined Separate MissingArgError(macro name missing after %qs)
194 -D<macro>[=<val>] Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1
195
196 E
197 C ObjC C++ ObjC++ Undocumented Var(flag_preprocess_only)
198
199 F
200 Driver C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
201 -F <dir> Add <dir> to the end of the main framework include path
202
203 H
204 C ObjC C++ ObjC++
205 Print the name of header files as they are used
206
207 I
208 C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
209 -I <dir> Add <dir> to the end of the main include path
210
211 M
212 C ObjC C++ ObjC++
213 Generate make dependencies
214
215 MD
216 C ObjC C++ ObjC++ NoDriverArg Separate MissingArgError(missing filename after %qs)
217 Generate make dependencies and compile
218
219 MF
220 C ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs)
221 -MF <file> Write dependency output to the given file
222
223 MG
224 C ObjC C++ ObjC++
225 Treat missing header files as generated files
226
227 MM
228 C ObjC C++ ObjC++
229 Like -M but ignore system header files
230
231 MMD
232 C ObjC C++ ObjC++ NoDriverArg Separate MissingArgError(missing filename after %qs)
233 Like -MD but ignore system header files
234
235 MP
236 C ObjC C++ ObjC++
237 Generate phony targets for all headers
238
239 MQ
240 C ObjC C++ ObjC++ Joined Separate MissingArgError(missing makefile target after %qs)
241 -MQ <target> Add a MAKE-quoted target
242
243 MT
244 C ObjC C++ ObjC++ Joined Separate MissingArgError(missing makefile target after %qs)
245 -MT <target> Add an unquoted target
246
247 P
248 C ObjC C++ ObjC++
249 Do not generate #line directives
250
251 U
252 C ObjC C++ ObjC++ Joined Separate MissingArgError(macro name missing after %qs)
253 -U<macro> Undefine <macro>
254
255 Wabi
256 C ObjC C++ ObjC++ LTO Var(warn_abi) Warning
257 Warn about things that will change when compiling with an ABI-compliant compiler
258
259 Wabi=
260 C ObjC C++ ObjC++ LTO Joined RejectNegative UInteger Warning
261 Warn about things that change between the current -fabi-version and the specified version
262
263 Wabi-tag
264 C++ ObjC++ Var(warn_abi_tag) Warning
265 Warn if a subobject has an abi_tag attribute that the complete object type does not have
266
267 Wpsabi
268 C ObjC C++ ObjC++ LTO Var(warn_psabi) Init(1) Undocumented LangEnabledBy(C ObjC C++ ObjC++,Wabi)
269
270 Waddress
271 C ObjC C++ ObjC++ Var(warn_address) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
272 Warn about suspicious uses of memory addresses
273
274 Wall
275 C ObjC C++ ObjC++ Warning
276 Enable most warning messages
277
278 Warray-bounds
279 LangEnabledBy(C ObjC C++ ObjC++,Wall)
280 ; in common.opt
281
282 Warray-bounds=
283 LangEnabledBy(C ObjC C++ ObjC++,Wall,1,0)
284 ; in common.opt
285
286 Wassign-intercept
287 ObjC ObjC++ Var(warn_assign_intercept) Warning
288 Warn whenever an Objective-C assignment is being intercepted by the garbage collector
289
290 Wbad-function-cast
291 C ObjC Var(warn_bad_function_cast) Warning
292 Warn about casting functions to incompatible types
293
294 Wbool-compare
295 C ObjC C++ ObjC++ Var(warn_bool_compare) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
296 Warn about boolean expression compared with an integer value different from true/false
297
298 Wframe-address
299 C ObjC C++ ObjC++ Var(warn_frame_address) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
300 Warn when __builtin_frame_address or __builtin_return_address is used unsafely
301
302 Wbuiltin-macro-redefined
303 C ObjC C++ ObjC++ CPP(warn_builtin_macro_redefined) CppReason(CPP_W_BUILTIN_MACRO_REDEFINED) Var(cpp_warn_builtin_macro_redefined) Init(1) Warning
304 Warn when a built-in preprocessor macro is undefined or redefined
305
306 Wc90-c99-compat
307 C ObjC CPP(cpp_warn_c90_c99_compat) CppReason(CPP_W_C90_C99_COMPAT) Var(warn_c90_c99_compat) Init(-1) Warning
308 Warn about features not present in ISO C90, but present in ISO C99
309
310 Wc99-c11-compat
311 C ObjC Var(warn_c99_c11_compat) Init(-1) Warning
312 Warn about features not present in ISO C99, but present in ISO C11
313
314 Wc++-compat
315 C ObjC Var(warn_cxx_compat) CPP(warn_cxx_operator_names) CppReason(CPP_W_CXX_OPERATOR_NAMES) Init(0) Warning
316 Warn about C constructs that are not in the common subset of C and C++
317
318 Wc++0x-compat
319 C++ ObjC++ Warning Alias(Wc++11-compat) Undocumented
320
321 Wc++11-compat
322 C++ ObjC++ Var(warn_cxx11_compat) Warning LangEnabledBy(C++ ObjC++,Wall) Init(0) CPP(cpp_warn_cxx11_compat) CppReason(CPP_W_CXX11_COMPAT)
323 Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 2011
324
325 Wc++14-compat
326 C++ ObjC++ Var(warn_cxx14_compat) Warning LangEnabledBy(C++ ObjC++,Wall)
327 Warn about C++ constructs whose meaning differs between ISO C++ 2011 and ISO C++ 2014
328
329 Wcast-qual
330 C ObjC C++ ObjC++ Var(warn_cast_qual) Warning
331 Warn about casts which discard qualifiers
332
333 Wchar-subscripts
334 C ObjC C++ ObjC++ Var(warn_char_subscripts) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
335 Warn about subscripts whose type is \"char\"
336
337 Wchkp
338 C ObjC C++ ObjC++ Var(warn_chkp) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
339 Warn about memory access errors found by Pointer Bounds Checker
340
341 Wclobbered
342 C ObjC C++ ObjC++ Var(warn_clobbered) Warning EnabledBy(Wextra)
343 Warn about variables that might be changed by \"longjmp\" or \"vfork\"
344
345 Wcomment
346 C ObjC C++ ObjC++ CPP(warn_comments) CppReason(CPP_W_COMMENTS) Var(cpp_warn_comment) Init(0) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
347 Warn about possibly nested block comments, and C++ comments spanning more than one physical line
348
349 Wcomments
350 C ObjC C++ ObjC++ Warning Alias(Wcomment)
351 Synonym for -Wcomment
352
353 Wconditionally-supported
354 C++ ObjC++ Var(warn_conditionally_supported) Warning
355 Warn for conditionally-supported constructs
356
357 Wconversion
358 C ObjC C++ ObjC++ Var(warn_conversion) Warning
359 Warn for implicit type conversions that may change a value
360
361 Wconversion-null
362 C++ ObjC++ Var(warn_conversion_null) Init(1) Warning
363 Warn for converting NULL from/to a non-pointer type
364
365 Wcpp
366 C ObjC C++ ObjC++ CppReason(CPP_W_WARNING_DIRECTIVE)
367 ; Documented in common.opt
368
369 Wctor-dtor-privacy
370 C++ ObjC++ Var(warn_ctor_dtor_privacy) Warning
371 Warn when all constructors and destructors are private
372
373 Wdate-time
374 C ObjC C++ ObjC++ CPP(warn_date_time) CppReason(CPP_W_DATE_TIME) Var(cpp_warn_date_time) Init(0) Warning
375 Warn about __TIME__, __DATE__ and __TIMESTAMP__ usage
376
377 Wdeclaration-after-statement
378 C ObjC Var(warn_declaration_after_statement) Init(-1) Warning
379 Warn when a declaration is found after a statement
380
381 Wdelete-incomplete
382 C++ ObjC++ Var(warn_delete_incomplete) Init(1) Warning
383 Warn when deleting a pointer to incomplete type
384
385 Wdelete-non-virtual-dtor
386 C++ ObjC++ Var(warn_delnonvdtor) Warning LangEnabledBy(C++ ObjC++,Wall || Weffc++)
387 Warn about deleting polymorphic objects with non-virtual destructors
388
389 Wdeprecated
390 C C++ ObjC ObjC++ CPP(cpp_warn_deprecated) CppReason(CPP_W_DEPRECATED) Var(warn_deprecated) Init(1) Warning
391 Warn if a deprecated compiler feature, class, method, or field is used
392
393 Wdesignated-init
394 C ObjC Var(warn_designated_init) Init(1) Warning
395 Warn about positional initialization of structs requiring designated initializers
396
397 Wdiscarded-array-qualifiers
398 C ObjC Var(warn_discarded_array_qualifiers) Init(1) Warning
399 Warn if qualifiers on arrays which are pointer targets are discarded
400
401 Wdiscarded-qualifiers
402 C ObjC Var(warn_discarded_qualifiers) Init(1) Warning
403 Warn if type qualifiers on pointers are discarded
404
405 Wdiv-by-zero
406 C ObjC C++ ObjC++ Var(warn_div_by_zero) Init(1) Warning
407 Warn about compile-time integer division by zero
408
409 Weffc++
410 C++ ObjC++ Var(warn_ecpp) Warning
411 Warn about violations of Effective C++ style rules
412
413 Wempty-body
414 C ObjC C++ ObjC++ Var(warn_empty_body) Warning EnabledBy(Wextra)
415 Warn about an empty body in an if or else statement
416
417 Wendif-labels
418 C ObjC C++ ObjC++ CPP(warn_endif_labels) CppReason(CPP_W_ENDIF_LABELS) Var(cpp_warn_endif_labels) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wpedantic)
419 Warn about stray tokens after #elif and #endif
420
421 Wenum-compare
422 C ObjC C++ ObjC++ Var(warn_enum_compare) Init(-1) Warning LangEnabledBy(C ObjC,Wall || Wc++-compat)
423 Warn about comparison of different enum types
424
425 Werror
426 C ObjC C++ ObjC++
427 ; Documented in common.opt
428
429 Werror-implicit-function-declaration
430 C ObjC RejectNegative Warning Alias(Werror=, implicit-function-declaration)
431 This switch is deprecated; use -Werror=implicit-function-declaration instead
432
433 Wfloat-conversion
434 C ObjC C++ ObjC++ Var(warn_float_conversion) LangEnabledBy(C ObjC C++ ObjC++,Wconversion)
435 Warn for implicit type conversions that cause loss of floating point precision
436
437 Wfloat-equal
438 C ObjC C++ ObjC++ Var(warn_float_equal) Warning
439 Warn if testing floating point numbers for equality
440
441 Wformat
442 C ObjC C++ ObjC++ Warning Alias(Wformat=, 1, 0)
443 Warn about printf/scanf/strftime/strfmon format string anomalies
444
445 Wformat-contains-nul
446 C ObjC C++ ObjC++ Var(warn_format_contains_nul) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 1, 0)
447 Warn about format strings that contain NUL bytes
448
449 Wformat-extra-args
450 C ObjC C++ ObjC++ Var(warn_format_extra_args) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 1, 0)
451 Warn if passing too many arguments to a function for its format string
452
453 Wformat-nonliteral
454 C ObjC C++ ObjC++ Var(warn_format_nonliteral) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
455 Warn about format strings that are not literals
456
457 Wformat-security
458 C ObjC C++ ObjC++ Var(warn_format_security) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
459 Warn about possible security problems with format functions
460
461 Wformat-signedness
462 C ObjC C++ ObjC++ Var(warn_format_signedness) Warning
463 Warn about sign differences with format functions
464
465 Wformat-y2k
466 C ObjC C++ ObjC++ Var(warn_format_y2k) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=,warn_format >= 2, 0)
467 Warn about strftime formats yielding 2-digit years
468
469 Wformat-zero-length
470 C ObjC C++ ObjC++ Var(warn_format_zero_length) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=,warn_format >= 1, 0)
471 Warn about zero-length formats
472
473 Wformat=
474 C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0)
475 Warn about printf/scanf/strftime/strfmon format string anomalies
476
477 Wignored-qualifiers
478 C C++ Var(warn_ignored_qualifiers) Warning EnabledBy(Wextra)
479 Warn whenever type qualifiers are ignored.
480
481 Wincompatible-pointer-types
482 C ObjC Var(warn_incompatible_pointer_types) Init(1) Warning
483 Warn when there is a conversion between pointers that have incompatible types
484
485 Winit-self
486 C ObjC C++ ObjC++ Var(warn_init_self) Warning LangEnabledBy(C++ ObjC++,Wall)
487 Warn about variables which are initialized to themselves
488
489 Wimplicit
490 C ObjC Var(warn_implicit) Warning LangEnabledBy(C ObjC,Wall)
491 Warn about implicit declarations
492
493 Wdouble-promotion
494 C ObjC C++ ObjC++ Var(warn_double_promotion) Warning
495 Warn about implicit conversions from \"float\" to \"double\"
496
497 Wimplicit-function-declaration
498 C ObjC Var(warn_implicit_function_declaration) Init(-1) Warning LangEnabledBy(C ObjC,Wimplicit)
499 Warn about implicit function declarations
500
501 Wimplicit-int
502 C ObjC Var(warn_implicit_int) Init(-1) Warning LangEnabledBy(C ObjC,Wimplicit)
503 Warn when a declaration does not specify a type
504
505 Wimport
506 C ObjC C++ ObjC++ Undocumented Ignore
507
508 Winherited-variadic-ctor
509 C++ ObjC++ Var(warn_inh_var_ctor) Init(1) Warning
510 Warn about C++11 inheriting constructors when the base has a variadic constructor
511
512 Wint-conversion
513 C ObjC Var(warn_int_conversion) Init(1) Warning
514 Warn about incompatible integer to pointer and pointer to integer conversions
515
516 Wint-to-pointer-cast
517 C ObjC C++ ObjC++ Var(warn_int_to_pointer_cast) Init(1) Warning
518 Warn when there is a cast to a pointer from an integer of a different size
519
520 Winvalid-offsetof
521 C++ ObjC++ Var(warn_invalid_offsetof) Init(1) Warning
522 Warn about invalid uses of the \"offsetof\" macro
523
524 Winvalid-pch
525 C ObjC C++ ObjC++ CPP(warn_invalid_pch) CppReason(CPP_W_INVALID_PCH) Var(cpp_warn_invalid_pch) Init(0) Warning
526 Warn about PCH files that are found but not used
527
528 Wjump-misses-init
529 C ObjC Var(warn_jump_misses_init) Warning LangEnabledby(C ObjC,Wc++-compat)
530 Warn when a jump misses a variable initialization
531
532 Wliteral-suffix
533 C++ ObjC++ CPP(warn_literal_suffix) CppReason(CPP_W_LITERAL_SUFFIX) Var(cpp_warn_literal_suffix) Init(1) Warning
534 Warn when a string or character literal is followed by a ud-suffix which does not begin with an underscore.
535
536 Wlogical-op
537 C ObjC C++ ObjC++ Var(warn_logical_op) Init(0) Warning
538 Warn when a logical operator is suspiciously always evaluating to true or false
539
540 Wlogical-not-parentheses
541 C ObjC C++ ObjC++ Var(warn_logical_not_paren) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
542 Warn when logical not is used on the left hand side operand of a comparison
543
544 Wlong-long
545 C ObjC C++ ObjC++ CPP(cpp_warn_long_long) CppReason(CPP_W_LONG_LONG) Var(warn_long_long) Init(-1) Warning LangEnabledBy(C ObjC,Wc90-c99-compat)
546 Do not warn about using \"long long\" when -pedantic
547
548 Wmain
549 C ObjC C++ ObjC++ Var(warn_main) Init(-1) Warning LangEnabledBy(C ObjC,Wall, 2, 0)
550 Warn about suspicious declarations of \"main\"
551
552 Wmain
553 LangEnabledBy(C ObjC C++ ObjC++,Wpedantic, 2, 0)
554 ;
555
556 Wmemset-transposed-args
557 C ObjC C++ ObjC++ Var(warn_memset_transposed_args) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
558 Warn about suspicious calls to memset where the third argument is constant literal zero and the second is not
559
560 Wmisleading-indentation
561 C C++ Common Var(warn_misleading_indentation) Warning
562 Warn when the indentation of the code does not reflect the block structure
563
564 Wmissing-braces
565 C ObjC C++ ObjC++ Var(warn_missing_braces) Warning LangEnabledBy(C ObjC,Wall)
566 Warn about possibly missing braces around initializers
567
568 Wmissing-declarations
569 C ObjC C++ ObjC++ Var(warn_missing_declarations) Warning
570 Warn about global functions without previous declarations
571
572 Wmissing-field-initializers
573 C ObjC C++ ObjC++ Var(warn_missing_field_initializers) Warning EnabledBy(Wextra)
574 Warn about missing fields in struct initializers
575
576 Wmultiple-inheritance
577 C++ ObjC++ Var(warn_multiple_inheritance) Warning
578 Warn on direct multiple inheritance
579
580 Wnamespaces
581 C++ ObjC++ Var(warn_namespaces) Warning
582 Warn on namespace definition
583
584 Wsized-deallocation
585 C++ ObjC++ Var(warn_sized_deallocation) Warning EnabledBy(Wextra)
586 Warn about missing sized deallocation functions
587
588 Wsizeof-pointer-memaccess
589 C ObjC C++ ObjC++ Var(warn_sizeof_pointer_memaccess) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
590 Warn about suspicious length parameters to certain string functions if the argument uses sizeof
591
592 Wsizeof-array-argument
593 C ObjC C++ ObjC++ Var(warn_sizeof_array_argument) Warning Init(1)
594 Warn when sizeof is applied on a parameter declared as an array
595
596 Wsuggest-attribute=format
597 C ObjC C++ ObjC++ Var(warn_suggest_attribute_format) Warning
598 Warn about functions which might be candidates for format attributes
599
600 Wsuggest-override
601 C++ ObjC++ Var(warn_override) Warning
602 Suggest that the override keyword be used when the declaration of a virtual
603 function overrides another.
604
605 Wswitch
606 C ObjC C++ ObjC++ Var(warn_switch) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
607 Warn about enumerated switches, with no default, missing a case
608
609 Wswitch-default
610 C ObjC C++ ObjC++ Var(warn_switch_default) Warning
611 Warn about enumerated switches missing a \"default:\" statement
612
613 Wswitch-enum
614 C ObjC C++ ObjC++ Var(warn_switch_enum) Warning
615 Warn about all enumerated switches missing a specific case
616
617 Wswitch-bool
618 C ObjC C++ ObjC++ Var(warn_switch_bool) Warning Init(1)
619 Warn about switches with boolean controlling expression
620
621 Wtemplates
622 C++ ObjC++ Var(warn_templates) Warning
623 Warn on primary template declaration
624
625 Wmissing-format-attribute
626 C ObjC C++ ObjC++ Alias(Wsuggest-attribute=format)
627 ;
628
629 Wmissing-include-dirs
630 C ObjC C++ ObjC++ CPP(warn_missing_include_dirs) CppReason(CPP_W_MISSING_INCLUDE_DIRS) Var(cpp_warn_missing_include_dirs) Init(0) Warning
631 Warn about user-specified include directories that do not exist
632
633 Wmissing-parameter-type
634 C ObjC Var(warn_missing_parameter_type) Warning EnabledBy(Wextra)
635 Warn about function parameters declared without a type specifier in K&R-style functions
636
637 Wmissing-prototypes
638 C ObjC Var(warn_missing_prototypes) Warning
639 Warn about global functions without prototypes
640
641 Wmudflap
642 C ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
643
644 Wmultichar
645 C ObjC C++ ObjC++ CPP(warn_multichar) CppReason(CPP_W_MULTICHAR) Var(cpp_warn_multichar) Init(0) Warning
646 Warn about use of multi-character character constants
647
648 Wnarrowing
649 C ObjC C++ ObjC++ Warning Var(warn_narrowing) Init(-1) LangEnabledBy(C++ ObjC++,Wall || Wc++11-compat)
650 Warn about narrowing conversions within { } that are ill-formed in C++11
651
652 Wnested-externs
653 C ObjC Var(warn_nested_externs) Warning
654 Warn about \"extern\" declarations not at file scope
655
656 Wnoexcept
657 C++ ObjC++ Var(warn_noexcept) Warning
658 Warn when a noexcept expression evaluates to false even though the expression can't actually throw
659
660 Wnon-template-friend
661 C++ ObjC++ Var(warn_nontemplate_friend) Init(1) Warning
662 Warn when non-templatized friend functions are declared within a template
663
664 Wnon-virtual-dtor
665 C++ ObjC++ Var(warn_nonvdtor) Warning LangEnabledBy(C++ ObjC++,Weffc++)
666 Warn about non-virtual destructors
667
668 Wnonnull
669 C ObjC C++ ObjC++ Var(warn_nonnull) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=,warn_format >= 1,0)
670 Warn about NULL being passed to argument slots marked as requiring non-NULL
671
672 Wnonnull
673 C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall)
674 ;
675
676 Wnormalized
677 C ObjC C++ ObjC++ Alias(Wnormalized=,nfc,none)
678 ;
679
680 Wnormalized=
681 C ObjC C++ ObjC++ RejectNegative Joined Warning CPP(warn_normalize) CppReason(CPP_W_NORMALIZE) Init(normalized_C) Var(cpp_warn_normalize) Enum(cpp_normalize_level)
682 -Wnormalized=<none|id|nfc|nfkc> Warn about non-normalised Unicode strings
683
684 ; Required for these enum values.
685 SourceInclude
686 cpplib.h
687
688 Enum
689 Name(cpp_normalize_level) Type(int) UnknownError(argument %qs to %<-Wnormalized%> not recognized)
690
691 EnumValue
692 Enum(cpp_normalize_level) String(none) Value(normalized_none)
693
694 EnumValue
695 Enum(cpp_normalize_level) String(nfkc) Value(normalized_KC)
696
697 EnumValue
698 Enum(cpp_normalize_level) String(id) Value(normalized_identifier_C)
699
700 EnumValue
701 Enum(cpp_normalize_level) String(nfc) Value(normalized_C)
702
703 Wold-style-cast
704 C++ ObjC++ Var(warn_old_style_cast) Warning
705 Warn if a C-style cast is used in a program
706
707 Wold-style-declaration
708 C ObjC Var(warn_old_style_declaration) Warning EnabledBy(Wextra)
709 Warn for obsolescent usage in a declaration
710
711 Wold-style-definition
712 C ObjC Var(warn_old_style_definition) Warning
713 Warn if an old-style parameter definition is used
714
715 Wopenmp-simd
716 C C++ Var(warn_openmp_simd) Warning LangEnabledBy(C C++,Wall)
717 Warn if a simd directive is overridden by the vectorizer cost model
718
719 Woverlength-strings
720 C ObjC C++ ObjC++ Var(warn_overlength_strings) Warning LangEnabledBy(C ObjC C++ ObjC++,Wpedantic)
721 Warn if a string is longer than the maximum portable length specified by the standard
722
723 Woverloaded-virtual
724 C++ ObjC++ Var(warn_overloaded_virtual) Warning
725 Warn about overloaded virtual function names
726
727 Woverride-init
728 C ObjC Var(warn_override_init) Warning EnabledBy(Wextra)
729 Warn about overriding initializers without side effects
730
731 Woverride-init-side-effects
732 C ObjC Var(warn_override_init_side_effects) Init(1) Warning
733 Warn about overriding initializers with side effects
734
735 Wpacked-bitfield-compat
736 C ObjC C++ ObjC++ Var(warn_packed_bitfield_compat) Init(-1) Warning
737 Warn about packed bit-fields whose offset changed in GCC 4.4
738
739 Wparentheses
740 C ObjC C++ ObjC++ Var(warn_parentheses) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
741 Warn about possibly missing parentheses
742
743 Wpedantic
744 C ObjC C++ ObjC++ CPP(cpp_pedantic) CppReason(CPP_W_PEDANTIC) Warning
745 ; Documented in common.opt
746
747 Wpmf-conversions
748 C++ ObjC++ Var(warn_pmf2ptr) Init(1) Warning
749 Warn when converting the type of pointers to member functions
750
751 Wpointer-arith
752 C ObjC C++ ObjC++ Var(warn_pointer_arith) Warning LangEnabledBy(C ObjC C++ ObjC++,Wpedantic)
753 Warn about function pointer arithmetic
754
755 Wpointer-sign
756 C ObjC Var(warn_pointer_sign) Warning LangEnabledBy(C ObjC,Wall || Wpedantic)
757 Warn when a pointer differs in signedness in an assignment
758
759 Wpointer-to-int-cast
760 C ObjC Var(warn_pointer_to_int_cast) Init(1) Warning
761 Warn when a pointer is cast to an integer of a different size
762
763 Wpragmas
764 C ObjC C++ ObjC++ Var(warn_pragmas) Init(1) Warning
765 Warn about misuses of pragmas
766
767 Wproperty-assign-default
768 ObjC ObjC++ Var(warn_property_assign_default) Init(1) Warning
769 Warn if a property for an Objective-C object has no assign semantics specified
770
771 Wprotocol
772 ObjC ObjC++ Var(warn_protocol) Init(1) Warning
773 Warn if inherited methods are unimplemented
774
775 Wredundant-decls
776 C ObjC C++ ObjC++ Var(warn_redundant_decls) Warning
777 Warn about multiple declarations of the same object
778
779 Wreorder
780 C++ ObjC++ Var(warn_reorder) Warning LangEnabledBy(C++ ObjC++,Wall)
781 Warn when the compiler reorders code
782
783 Wreturn-type
784 C ObjC C++ ObjC++ Var(warn_return_type) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
785 Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)
786
787 Wselector
788 ObjC ObjC++ Var(warn_selector) Warning
789 Warn if a selector has multiple methods
790
791 Wsequence-point
792 C ObjC C++ ObjC++ Var(warn_sequence_point) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
793 Warn about possible violations of sequence point rules
794
795 Wshadow-ivar
796 ObjC ObjC++ Var(warn_shadow_ivar) EnabledBy(Wshadow) Init(1) Warning
797 Warn if a local declaration hides an instance variable
798
799 Wshift-overflow
800 C ObjC C++ ObjC++ Warning Alias(Wshift-overflow=, 1, 0)
801 Warn if left shift of a signed value overflows
802
803 Wshift-overflow=
804 C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_shift_overflow) Init(-1) Warning
805 Warn if left shift of a signed value overflows
806
807 Wshift-count-negative
808 C ObjC C++ ObjC++ Var(warn_shift_count_negative) Init(1) Warning
809 Warn if shift count is negative
810
811 Wshift-count-overflow
812 C ObjC C++ ObjC++ Var(warn_shift_count_overflow) Init(1) Warning
813 Warn if shift count >= width of type
814
815 Wshift-negative-value
816 C ObjC C++ ObjC++ Var(warn_shift_negative_value) Init(-1) Warning
817 Warn if left shifting a negative value
818
819 Wsign-compare
820 C ObjC C++ ObjC++ Var(warn_sign_compare) Warning LangEnabledBy(C++ ObjC++,Wall)
821 Warn about signed-unsigned comparisons
822
823 Wsign-compare
824 C ObjC C++ ObjC++ EnabledBy(Wextra)
825 ;
826
827 Wsign-conversion
828 C ObjC C++ ObjC++ Var(warn_sign_conversion) LangEnabledBy(C ObjC,Wconversion)
829 Warn for implicit type conversions between signed and unsigned integers
830
831 Wsign-promo
832 C++ ObjC++ Var(warn_sign_promo) Warning
833 Warn when overload promotes from unsigned to signed
834
835 Wstrict-null-sentinel
836 C++ ObjC++ Warning Var(warn_strict_null_sentinel)
837 Warn about uncasted NULL used as sentinel
838
839 Wstrict-prototypes
840 C ObjC Var(warn_strict_prototypes) Warning
841 Warn about unprototyped function declarations
842
843 Wstrict-aliasing=
844 C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall, 3, 0)
845 ;
846
847 Wstrict-overflow=
848 C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0)
849 ;
850
851 Wstrict-selector-match
852 ObjC ObjC++ Var(warn_strict_selector_match) Warning
853 Warn if type signatures of candidate methods do not match exactly
854
855 Wsync-nand
856 C C++ Var(warn_sync_nand) Init(1) Warning
857 Warn when __sync_fetch_and_nand and __sync_nand_and_fetch built-in functions are used
858
859 Wsynth
860 C++ ObjC++ Var(warn_synth) Warning
861 Deprecated. This switch has no effect
862
863 Wsystem-headers
864 C ObjC C++ ObjC++ Warning
865 ; Documented in common.opt
866
867 Wtautological-compare
868 C ObjC C++ ObjC++ Var(warn_tautological_compare) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
869 Warn if a comparison always evaluates to true or false
870
871 Wterminate
872 C++ ObjC++ Warning Var(warn_terminate) Init(1)
873 Warn if a throw expression will always result in a call to terminate()
874
875 Wtraditional
876 C ObjC CPP(cpp_warn_traditional) CppReason(CPP_W_TRADITIONAL) Var(warn_traditional) Init(0) Warning
877 Warn about features not present in traditional C
878
879 Wtraditional-conversion
880 C ObjC Var(warn_traditional_conversion) Warning
881 Warn of prototypes causing type conversions different from what would happen in the absence of prototype
882
883 Wtrigraphs
884 C ObjC C++ ObjC++ CPP(warn_trigraphs) CppReason(CPP_W_TRIGRAPHS) Var(cpp_warn_trigraphs) Init(2) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
885 Warn if trigraphs are encountered that might affect the meaning of the program
886
887 Wundeclared-selector
888 ObjC ObjC++ Var(warn_undeclared_selector) Warning
889 Warn about @selector()s without previously declared methods
890
891 Wundef
892 C ObjC C++ ObjC++ CPP(warn_undef) CppReason(CPP_W_UNDEF) Var(cpp_warn_undef) Init(0) Warning
893 Warn if an undefined macro is used in an #if directive
894
895 Wuninitialized
896 C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall)
897 ;
898
899 Wmaybe-uninitialized
900 C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall)
901 ;
902
903 Wunknown-pragmas
904 C ObjC C++ ObjC++ Warning Var(warn_unknown_pragmas) LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0)
905 Warn about unrecognized pragmas
906
907 Wunsuffixed-float-constants
908 C ObjC Var(warn_unsuffixed_float_constants) Warning
909 Warn about unsuffixed float constants
910
911 Wunused
912 C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall)
913 ; documented in common.opt
914
915 Wunused-local-typedefs
916 C ObjC C++ ObjC++ Var(warn_unused_local_typedefs) Warning EnabledBy(Wunused)
917 Warn when typedefs locally defined in a function are not used
918
919 Wunused-macros
920 C ObjC C++ ObjC++ CppReason(CPP_W_UNUSED_MACROS) Var(cpp_warn_unused_macros) Warning
921 Warn about macros defined in the main file that are not used
922
923 Wunused-result
924 C ObjC C++ ObjC++ Var(warn_unused_result) Init(1) Warning
925 Warn if a caller of a function, marked with attribute warn_unused_result, does not use its return value
926
927 Wunused-variable
928 C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wunused)
929 ; documented in common.opt
930
931 Wunused-const-variable
932 C ObjC C++ ObjC++ Var(warn_unused_const_variable) Warning LangEnabledBy(C ObjC,Wunused-variable)
933 Warn when a const variable is unused
934
935 Wvariadic-macros
936 C ObjC C++ ObjC++ CPP(warn_variadic_macros) CppReason(CPP_W_VARIADIC_MACROS) Var(cpp_warn_variadic_macros) Init(0) Warning LangEnabledBy(C ObjC C++ ObjC++,Wpedantic || Wtraditional)
937 Warn about using variadic macros
938
939 Wvarargs
940 C ObjC C++ ObjC++ Warning Var(warn_varargs) Init(1)
941 Warn about questionable usage of the macros used to retrieve variable arguments
942
943 Wvla
944 C ObjC C++ ObjC++ Var(warn_vla) Init(-1) Warning
945 Warn if a variable length array is used
946
947 Wvolatile-register-var
948 C ObjC C++ ObjC++ Var(warn_volatile_register_var) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)
949 Warn when a register variable is declared volatile
950
951 Wvirtual-inheritance
952 C++ ObjC++ Var(warn_virtual_inheritance) Warning
953 Warn on direct virtual inheritance
954
955 Wvirtual-move-assign
956 C++ ObjC++ Var(warn_virtual_move_assign) Warning Init(1)
957 Warn if a virtual base has a non-trivial move assignment operator
958
959 Wwrite-strings
960 C ObjC C++ ObjC++ Var(warn_write_strings) Warning
961 In 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.
962
963 Wzero-as-null-pointer-constant
964 C++ ObjC++ Var(warn_zero_as_null_pointer_constant) Warning
965 Warn when a literal '0' is used as null pointer
966
967 Wuseless-cast
968 C++ ObjC++ Var(warn_useless_cast) Warning
969 Warn about useless casts
970
971 Wsubobject-linkage
972 C++ ObjC++ Var(warn_subobject_linkage) Warning Init(1)
973 Warn if a class type has a base or a field whose type uses the anonymous
974 namespace or depends on a type with no linkage
975
976 ansi
977 C ObjC C++ ObjC++
978 A synonym for -std=c89 (for C) or -std=c++98 (for C++)
979
980 d
981 C ObjC C++ ObjC++ Joined
982 ; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD?
983
984 fabi-compat-version=
985 C++ ObjC++ Joined RejectNegative UInteger Var(flag_abi_compat_version) Init(-1)
986 The version of the C++ ABI used for -Wabi warnings and link compatibility aliases
987
988 faccess-control
989 C++ ObjC++ Var(flag_access_control) Init(1)
990 Enforce class member access control semantics
991
992 fada-spec-parent=
993 C ObjC C++ ObjC++ RejectNegative Joined Var(ada_specs_parent)
994 -fada-spec-parent=unit Dump Ada specs as child units of given parent
995
996 fall-virtual
997 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
998
999 fallow-parameterless-variadic-functions
1000 C ObjC Var(flag_allow_parameterless_variadic_functions)
1001 Allow variadic functions without named parameter
1002
1003 falt-external-templates
1004 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1005 No longer supported
1006
1007 fasm
1008 C ObjC C++ ObjC++ Var(flag_no_asm, 0)
1009 Recognize the \"asm\" keyword
1010
1011 ; Define extra predefined macros for use in libgcc.
1012 fbuilding-libgcc
1013 C ObjC C++ ObjC++ Undocumented Var(flag_building_libgcc)
1014
1015 fbuiltin
1016 C ObjC C++ ObjC++ Var(flag_no_builtin, 0)
1017 Recognize built-in functions
1018
1019 fbuiltin-
1020 C ObjC C++ ObjC++ Joined
1021
1022 fcanonical-system-headers
1023 C ObjC C++ ObjC++
1024 Where shorter, use canonicalized paths to systems headers.
1025
1026 fcheck-pointer-bounds
1027 C ObjC C++ ObjC++ LTO Report Var(flag_check_pointer_bounds)
1028 Add Pointer Bounds Checker instrumentation. fchkp-* flags are used to
1029 control instrumentation. Currently available for C, C++ and ObjC.
1030
1031 fchkp-check-incomplete-type
1032 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_incomplete_type) Init(1)
1033 Generate pointer bounds checks for variables with incomplete type
1034
1035 fchkp-zero-input-bounds-for-main
1036 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_zero_input_bounds_for_main) Init(0)
1037 Use zero bounds for all incoming arguments in 'main' function. It helps when
1038 instrumented binaries are used with legacy libs.
1039
1040 fchkp-first-field-has-own-bounds
1041 C ObjC C++ ObjC++ LTO RejectNegative Report Var(flag_chkp_first_field_has_own_bounds)
1042 Forces Pointer Bounds Checker to use narrowed bounds for address of the first
1043 field in the structure. By default pointer to the first field has the same
1044 bounds as pointer to the whole structure.
1045
1046 fchkp-narrow-bounds
1047 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_narrow_bounds) Init(1)
1048 Control how Pointer Bounds Checker handle pointers to object fields. When
1049 narrowing is on, field bounds are used. Otherwise full object bounds are used.
1050
1051 fchkp-narrow-to-innermost-array
1052 C ObjC C++ ObjC++ LTO RejectNegative Report Var(flag_chkp_narrow_to_innermost_arrray)
1053 Forces Pointer Bounds Checker to use bounds of the innermost arrays in case of
1054 nested static arryas access. By default outermost array is used.
1055
1056 fchkp-optimize
1057 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_optimize) Init(-1)
1058 Allow Pointer Bounds Checker optimizations. By default allowed
1059 on optimization levels >0.
1060
1061 fchkp-use-fast-string-functions
1062 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_fast_string_functions) Init(0)
1063 Allow to use *_nobnd versions of string functions by Pointer Bounds Checker.
1064
1065 fchkp-use-nochk-string-functions
1066 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_nochk_string_functions) Init(0)
1067 Allow to use *_nochk versions of string functions by Pointer Bounds Checker.
1068
1069 fchkp-use-static-bounds
1070 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_static_bounds) Init(1)
1071 Use statically initialized variable for vars bounds instead of
1072 generating them each time it is required.
1073
1074 fchkp-use-static-const-bounds
1075 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_static_const_bounds) Init(-1)
1076 Use statically initialized variable for constant bounds instead of
1077 generating them each time it is required.
1078
1079 fchkp-treat-zero-dynamic-size-as-infinite
1080 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_zero_dynamic_size_as_infinite) Init(0)
1081 With this option zero size obtained dynamically for objects with
1082 incomplete type will be treated as infinite.
1083
1084 fchkp-check-read
1085 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_check_read) Init(1)
1086 Generate checks for all read accesses to memory.
1087
1088 fchkp-check-write
1089 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_check_write) Init(1)
1090 Generate checks for all write accesses to memory.
1091
1092 fchkp-store-bounds
1093 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_store_bounds) Init(1)
1094 Generate bounds stores for pointer writes.
1095
1096 fchkp-instrument-calls
1097 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_instrument_calls) Init(1)
1098 Generate bounds passing for calls.
1099
1100 fchkp-instrument-marked-only
1101 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_instrument_marked_only) Init(0)
1102 Instrument only functions marked with bnd_instrument attribute.
1103
1104 fchkp-use-wrappers
1105 C ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_wrappers) Init(1)
1106 Transform instrumented builtin calls into calls to wrappers.
1107
1108 static-libmpx
1109 Driver
1110
1111 static-libmpxwrappers
1112 Driver
1113
1114 fcilkplus
1115 C ObjC C++ ObjC++ LTO Report Var(flag_cilkplus) Init(0)
1116 Enable Cilk Plus
1117
1118 fconcepts
1119 C++ ObjC++ Var(flag_concepts)
1120 Enable support for C++ concepts
1121
1122 fcond-mismatch
1123 C ObjC C++ ObjC++
1124 Allow the arguments of the '?' operator to have different types
1125
1126 fconserve-space
1127 C++ ObjC++ Var(flag_conserve_space)
1128 Does nothing. Preserved for backward compatibility.
1129
1130 fconstant-string-class=
1131 ObjC ObjC++ Joined MissingArgError(no class name specified with %qs)
1132 -fconst-string-class=<name> Use class <name> for constant strings
1133
1134 fconstexpr-depth=
1135 C++ ObjC++ Joined RejectNegative UInteger Var(max_constexpr_depth) Init(512)
1136 -fconstexpr-depth=<number> Specify maximum constexpr recursion depth
1137
1138 fdebug-cpp
1139 C ObjC C++ ObjC++
1140 Emit debug annotations during preprocessing
1141
1142 fdeduce-init-list
1143 C++ ObjC++ Var(flag_deduce_init_list) Init(0)
1144 -fdeduce-init-list enable deduction of std::initializer_list for a template type parameter from a brace-enclosed initializer-list
1145
1146 fdeclone-ctor-dtor
1147 C++ ObjC++ Var(flag_declone_ctor_dtor) Init(-1)
1148 Factor complex constructors and destructors to favor space over speed
1149
1150 fdefault-inline
1151 C++ ObjC++ Ignore
1152 Does nothing. Preserved for backward compatibility.
1153
1154 fdirectives-only
1155 C ObjC C++ ObjC++
1156 Preprocess directives only.
1157
1158 fdollars-in-identifiers
1159 C ObjC C++ ObjC++
1160 Permit '$' as an identifier character
1161
1162 fdump-ada-spec
1163 C ObjC C++ ObjC++ RejectNegative Var(flag_dump_ada_spec)
1164 Write all declarations as Ada code transitively
1165
1166 fdump-ada-spec-slim
1167 C ObjC C++ ObjC++ RejectNegative Var(flag_dump_ada_spec_slim)
1168 Write all declarations as Ada code for the given file only
1169
1170 felide-constructors
1171 C++ ObjC++ Var(flag_elide_constructors) Init(1)
1172
1173 fenforce-eh-specs
1174 C++ ObjC++ Var(flag_enforce_eh_specs) Init(1)
1175 Generate code to check exception specifications
1176
1177 fenum-int-equiv
1178 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1179
1180 fexec-charset=
1181 C ObjC C++ ObjC++ Joined RejectNegative
1182 -fexec-charset=<cset> Convert all strings and character constants to character set <cset>
1183
1184 fextended-identifiers
1185 C ObjC C++ ObjC++
1186 Permit universal character names (\\u and \\U) in identifiers
1187
1188 finput-charset=
1189 C ObjC C++ ObjC++ Joined RejectNegative
1190 -finput-charset=<cset> Specify the default character set for source files
1191
1192 fextern-tls-init
1193 C++ ObjC++ Var(flag_extern_tls_init) Init(-1)
1194 Support dynamic initialization of thread-local variables in a different translation unit
1195
1196 fexternal-templates
1197 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1198
1199 ffor-scope
1200 C++ ObjC++ Var(flag_new_for_scope) Init(1)
1201 Scope of for-init-statement variables is local to the loop
1202
1203 ffreestanding
1204 C ObjC C++ ObjC++
1205 Do not assume that standard C libraries and \"main\" exist
1206
1207 fgnu-keywords
1208 C++ ObjC++ Var(flag_no_gnu_keywords, 0)
1209 Recognize GNU-defined keywords
1210
1211 fgnu-runtime
1212 ObjC ObjC++ LTO Report RejectNegative Var(flag_next_runtime,0) Init(NEXT_OBJC_RUNTIME)
1213 Generate code for GNU runtime environment
1214
1215 fgnu89-inline
1216 C ObjC Var(flag_gnu89_inline) Init(-1)
1217 Use traditional GNU semantics for inline functions
1218
1219 fguiding-decls
1220 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1221
1222 fhandle-exceptions
1223 C++ ObjC++ Optimization Alias(fexceptions) Warn({-fhandle-exceptions has been renamed -fexceptions (and is now on by default)})
1224
1225 fhonor-std
1226 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1227
1228 fhosted
1229 C ObjC
1230 Assume normal C execution environment
1231
1232 fhuge-objects
1233 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1234 No longer supported
1235
1236 fimplement-inlines
1237 C++ ObjC++ Var(flag_implement_inlines) Init(1)
1238 Export functions even if they can be inlined
1239
1240 fimplicit-inline-templates
1241 C++ ObjC++ Var(flag_implicit_inline_templates) Init(1)
1242 Emit implicit instantiations of inline templates
1243
1244 fimplicit-templates
1245 C++ ObjC++ Var(flag_implicit_templates) Init(1)
1246 Emit implicit instantiations of templates
1247
1248 ffriend-injection
1249 C++ ObjC++ Var(flag_friend_injection)
1250 Inject friend functions into enclosing namespace
1251
1252 fkeep-inline-dllexport
1253 C C++ ObjC ObjC++ Var(flag_keep_inline_dllexport) Init(1) Report Condition(TARGET_DLLIMPORT_DECL_ATTRIBUTES)
1254 Don't emit dllexported inline functions unless needed
1255
1256 flabels-ok
1257 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1258
1259 flax-vector-conversions
1260 C ObjC C++ ObjC++ Var(flag_lax_vector_conversions)
1261 Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types.
1262
1263 fms-extensions
1264 C ObjC C++ ObjC++ Var(flag_ms_extensions)
1265 Don't warn about uses of Microsoft extensions
1266
1267 fmudflap
1268 C ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1269
1270 fmudflapth
1271 C ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1272
1273 fmudflapir
1274 C ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1275
1276 fname-mangling-version-
1277 C++ ObjC++ Joined Ignore Warn(switch %qs is no longer supported)
1278
1279 fnew-abi
1280 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1281
1282 fnext-runtime
1283 ObjC ObjC++ LTO Report RejectNegative Var(flag_next_runtime)
1284 Generate code for NeXT (Apple Mac OS X) runtime environment
1285
1286 fnil-receivers
1287 ObjC ObjC++ Var(flag_nil_receivers) Init(1)
1288 Assume that receivers of Objective-C messages may be nil
1289
1290 flocal-ivars
1291 ObjC ObjC++ Var(flag_local_ivars) Init(1)
1292 Allow access to instance variables as if they were local declarations within instance method implementations.
1293
1294 fivar-visibility=
1295 ObjC ObjC++ Joined RejectNegative Enum(ivar_visibility) Var(default_ivar_visibility) Init(IVAR_VISIBILITY_PROTECTED)
1296 -fvisibility=[private|protected|public|package] Set the default symbol visibility
1297
1298 Enum
1299 Name(ivar_visibility) Type(enum ivar_visibility) UnknownError(unrecognized ivar visibility value %qs)
1300
1301 EnumValue
1302 Enum(ivar_visibility) String(private) Value(IVAR_VISIBILITY_PRIVATE)
1303
1304 EnumValue
1305 Enum(ivar_visibility) String(protected) Value(IVAR_VISIBILITY_PROTECTED)
1306
1307 EnumValue
1308 Enum(ivar_visibility) String(public) Value(IVAR_VISIBILITY_PUBLIC)
1309
1310 EnumValue
1311 Enum(ivar_visibility) String(package) Value(IVAR_VISIBILITY_PACKAGE)
1312
1313 fnonansi-builtins
1314 C++ ObjC++ Var(flag_no_nonansi_builtin, 0)
1315
1316 fnonnull-objects
1317 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1318
1319 fnothrow-opt
1320 C++ ObjC++ Optimization Var(flag_nothrow_opt)
1321 Treat a throw() exception specification as noexcept to improve code size
1322
1323 fobjc-abi-version=
1324 ObjC ObjC++ LTO Joined Report RejectNegative UInteger Var(flag_objc_abi)
1325 Specify which ABI to use for Objective-C family code and meta-data generation.
1326
1327 ; Generate special '- .cxx_construct' and '- .cxx_destruct' methods
1328 ; to initialize any non-POD ivars in Objective-C++ classes.
1329 fobjc-call-cxx-cdtors
1330 ObjC++ Var(flag_objc_call_cxx_cdtors)
1331 Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed
1332
1333 fobjc-direct-dispatch
1334 ObjC ObjC++ Var(flag_objc_direct_dispatch)
1335 Allow fast jumps to the message dispatcher
1336
1337 ; Nonzero means that we will allow new ObjC exception syntax (@throw,
1338 ; @try, etc.) in source code.
1339 fobjc-exceptions
1340 ObjC ObjC++ Var(flag_objc_exceptions)
1341 Enable Objective-C exception and synchronization syntax
1342
1343 fobjc-gc
1344 ObjC ObjC++ LTO Var(flag_objc_gc)
1345 Enable garbage collection (GC) in Objective-C/Objective-C++ programs
1346
1347 fobjc-nilcheck
1348 ObjC ObjC++ Var(flag_objc_nilcheck,1)
1349 Enable inline checks for nil receivers with the NeXT runtime and ABI version 2.
1350
1351 ; Nonzero means that we generate NeXT setjmp based exceptions.
1352 fobjc-sjlj-exceptions
1353 ObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1)
1354 Enable Objective-C setjmp exception handling runtime
1355
1356 fobjc-std=objc1
1357 ObjC ObjC++ Var(flag_objc1_only)
1358 Conform to the Objective-C 1.0 language as implemented in GCC 4.0
1359
1360 fopenacc
1361 C ObjC C++ ObjC++ LTO Var(flag_openacc)
1362 Enable OpenACC
1363
1364 fopenmp
1365 C ObjC C++ ObjC++ LTO Var(flag_openmp)
1366 Enable OpenMP (implies -frecursive in Fortran)
1367
1368 fopenmp-simd
1369 C ObjC C++ ObjC++ Var(flag_openmp_simd)
1370 Enable OpenMP's SIMD directives
1371
1372 foperator-names
1373 C++ ObjC++
1374 Recognize C++ keywords like \"compl\" and \"xor\"
1375
1376 foptional-diags
1377 C++ ObjC++ Ignore
1378 Does nothing. Preserved for backward compatibility.
1379
1380 fpch-deps
1381 C ObjC C++ ObjC++
1382
1383 fpch-preprocess
1384 C ObjC C++ ObjC++
1385 Look for and use PCH files even when preprocessing
1386
1387 fpermissive
1388 C++ ObjC++ Var(flag_permissive)
1389 Downgrade conformance errors to warnings
1390
1391 fplan9-extensions
1392 C ObjC Var(flag_plan9_extensions)
1393 Enable Plan 9 language extensions
1394
1395 fpreprocessed
1396 C ObjC C++ ObjC++
1397 Treat the input file as already preprocessed
1398
1399 ftrack-macro-expansion
1400 C ObjC C++ ObjC++ JoinedOrMissing RejectNegative UInteger
1401 ; converted into ftrack-macro-expansion=
1402
1403 ftrack-macro-expansion=
1404 C ObjC C++ ObjC++ JoinedOrMissing RejectNegative UInteger
1405 -ftrack-macro-expansion=<0|1|2> Track locations of tokens coming from macro expansion and display them in error messages
1406
1407 fpretty-templates
1408 C++ ObjC++ Var(flag_pretty_templates) Init(1)
1409 -fno-pretty-templates Do not pretty-print template specializations as the template signature followed by the arguments
1410
1411 freplace-objc-classes
1412 ObjC ObjC++ LTO Var(flag_replace_objc_classes)
1413 Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime
1414
1415 frepo
1416 C++ ObjC++
1417 Enable automatic template instantiation
1418
1419 frtti
1420 C++ ObjC++ Optimization Var(flag_rtti) Init(1)
1421 Generate run time type descriptor information
1422
1423 fshort-double
1424 C ObjC C++ ObjC++ LTO Optimization Var(flag_short_double)
1425 Use the same size for double as for float
1426
1427 fshort-enums
1428 C ObjC C++ ObjC++ LTO Optimization Var(flag_short_enums)
1429 Use the narrowest integer type possible for enumeration types
1430
1431 fshort-wchar
1432 C ObjC C++ ObjC++ LTO Optimization Var(flag_short_wchar)
1433 Force the underlying type for \"wchar_t\" to be \"unsigned short\"
1434
1435 fsigned-bitfields
1436 C ObjC C++ ObjC++ Var(flag_signed_bitfields) Init(1)
1437 When \"signed\" or \"unsigned\" is not given make the bitfield signed
1438
1439 fsigned-char
1440 C ObjC C++ ObjC++ LTO Var(flag_signed_char)
1441 Make \"char\" signed by default
1442
1443 fsized-deallocation
1444 C++ ObjC++ Var(flag_sized_deallocation) Init(-1)
1445 Enable C++14 sized deallocation support
1446
1447 fsquangle
1448 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1449
1450 fstats
1451 C++ ObjC++ Var(flag_detailed_statistics)
1452 Display statistics accumulated during compilation
1453
1454 fstrict-enums
1455 C++ ObjC++ Optimization Var(flag_strict_enums)
1456 Assume that values of enumeration type are always within the minimum range of that type
1457
1458 fstrict-prototype
1459 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1460
1461 ftabstop=
1462 C ObjC C++ ObjC++ Joined RejectNegative UInteger
1463 -ftabstop=<number> Distance between tab stops for column reporting
1464
1465 ftemplate-backtrace-limit=
1466 C++ ObjC++ Joined RejectNegative UInteger Var(template_backtrace_limit) Init(10)
1467 Set the maximum number of template instantiation notes for a single warning or error
1468
1469 ftemplate-depth-
1470 C++ ObjC++ Joined RejectNegative Undocumented Alias(ftemplate-depth=)
1471
1472 ftemplate-depth=
1473 C++ ObjC++ Joined RejectNegative UInteger
1474 -ftemplate-depth=<number> Specify maximum template instantiation depth
1475
1476 fthis-is-variable
1477 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1478
1479 fthreadsafe-statics
1480 C++ ObjC++ Optimization Var(flag_threadsafe_statics) Init(1)
1481 -fno-threadsafe-statics Do not generate thread-safe code for initializing local statics
1482
1483 funsigned-bitfields
1484 C ObjC C++ ObjC++ Var(flag_signed_bitfields, 0)
1485 When \"signed\" or \"unsigned\" is not given make the bitfield unsigned
1486
1487 funsigned-char
1488 C ObjC C++ ObjC++ LTO Var(flag_signed_char, 0)
1489 Make \"char\" unsigned by default
1490
1491 fuse-cxa-atexit
1492 C++ ObjC++ Var(flag_use_cxa_atexit) Init(DEFAULT_USE_CXA_ATEXIT)
1493 Use __cxa_atexit to register destructors
1494
1495 fuse-cxa-get-exception-ptr
1496 C++ ObjC++ Var(flag_use_cxa_get_exception_ptr) Init(2)
1497 Use __cxa_get_exception_ptr in exception handling
1498
1499 fvisibility-inlines-hidden
1500 C++ ObjC++
1501 Marks all inlined functions and methods as having hidden visibility
1502
1503 fvisibility-ms-compat
1504 C++ ObjC++ Var(flag_visibility_ms_compat)
1505 Changes visibility to match Microsoft Visual Studio by default
1506
1507 fvtable-gc
1508 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1509 No longer supported
1510
1511 fvtable-thunks
1512 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1513 No longer supported
1514
1515 fweak
1516 C++ ObjC++ Var(flag_weak) Init(1)
1517 Emit common-like symbols as weak symbols
1518
1519 fwide-exec-charset=
1520 C ObjC C++ ObjC++ Joined RejectNegative
1521 -fwide-exec-charset=<cset> Convert all wide strings and character constants to character set <cset>
1522
1523 fworking-directory
1524 C ObjC C++ ObjC++ Var(flag_working_directory) Init(-1)
1525 Generate a #line directive pointing at the current working directory
1526
1527 fxref
1528 C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
1529 No longer supported
1530
1531 fzero-link
1532 ObjC ObjC++ Var(flag_zero_link)
1533 Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode
1534
1535 gen-decls
1536 ObjC ObjC++ Var(flag_gen_declaration)
1537 Dump declarations to a .decl file
1538
1539 femit-struct-debug-baseonly
1540 C ObjC C++ ObjC++
1541 -femit-struct-debug-baseonly Aggressive reduced debug info for structs
1542
1543 femit-struct-debug-reduced
1544 C ObjC C++ ObjC++
1545 -femit-struct-debug-reduced Conservative reduced debug info for structs
1546
1547 femit-struct-debug-detailed=
1548 C ObjC C++ ObjC++ Joined
1549 -femit-struct-debug-detailed=<spec-list> Detailed reduced debug info for structs
1550
1551 fext-numeric-literals
1552 C++ ObjC++
1553 Interpret imaginary, fixed-point, or other gnu number suffix as the corresponding
1554 number literal rather than a user-defined number literal.
1555
1556 idirafter
1557 C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
1558 -idirafter <dir> Add <dir> to the end of the system include path
1559
1560 imacros
1561 C ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs)
1562 -imacros <file> Accept definition of macros in <file>
1563
1564 imultilib
1565 C ObjC C++ ObjC++ Joined Separate
1566 -imultilib <dir> Set <dir> to be the multilib include subdirectory
1567
1568 include
1569 C ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs)
1570 -include <file> Include the contents of <file> before other files
1571
1572 iprefix
1573 C ObjC C++ ObjC++ Joined Separate
1574 -iprefix <path> Specify <path> as a prefix for next two options
1575
1576 isysroot
1577 C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
1578 -isysroot <dir> Set <dir> to be the system root directory
1579
1580 isystem
1581 C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
1582 -isystem <dir> Add <dir> to the start of the system include path
1583
1584 iquote
1585 C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
1586 -iquote <dir> Add <dir> to the end of the quote include path
1587
1588 iwithprefix
1589 C ObjC C++ ObjC++ Joined Separate
1590 -iwithprefix <dir> Add <dir> to the end of the system include path
1591
1592 iwithprefixbefore
1593 C ObjC C++ ObjC++ Joined Separate
1594 -iwithprefixbefore <dir> Add <dir> to the end of the main include path
1595
1596 lang-asm
1597 C Undocumented RejectDriver
1598
1599 no-integrated-cpp
1600 Driver
1601
1602 nostdinc
1603 C ObjC C++ ObjC++
1604 Do not search standard system include directories (those specified with -isystem will still be used)
1605
1606 nostdinc++
1607 C++ ObjC++
1608 Do not search standard system include directories for C++
1609
1610 o
1611 C ObjC C++ ObjC++ Joined Separate
1612 ; Documented in common.opt
1613
1614 pedantic
1615 C ObjC C++ ObjC++ Alias(Wpedantic)
1616 ; Documented in common.opt
1617
1618 print-objc-runtime-info
1619 ObjC ObjC++
1620 Generate C header of platform-specific features
1621
1622 remap
1623 C ObjC C++ ObjC++
1624 Remap file names when including files
1625
1626 std=c++98
1627 C++ ObjC++
1628 Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum
1629
1630 std=c++03
1631 C++ ObjC++ Alias(std=c++98)
1632 Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum
1633
1634 std=c++11
1635 C++ ObjC++
1636 Conform to the ISO 2011 C++ standard
1637
1638 std=c++0x
1639 C++ ObjC++ Alias(std=c++11) Undocumented
1640 Deprecated in favor of -std=c++11
1641
1642 std=c++1y
1643 C++ ObjC++ Alias(std=c++14) Undocumented
1644 Deprecated in favor of -std=c++14
1645
1646 std=c++14
1647 C++ ObjC++
1648 Conform to the ISO 2014 C++ standard
1649
1650 std=c++1z
1651 C++ ObjC++
1652 Conform to the ISO 2017(?) C++ draft standard (experimental and incomplete support)
1653
1654 std=c++17
1655 C++ ObjC++ Alias(std=c++1z) Undocumented
1656
1657 std=c11
1658 C ObjC
1659 Conform to the ISO 2011 C standard
1660
1661 std=c1x
1662 C ObjC Alias(std=c11)
1663 Deprecated in favor of -std=c11
1664
1665 std=c89
1666 C ObjC Alias(std=c90)
1667 Conform to the ISO 1990 C standard
1668
1669 std=c90
1670 C ObjC
1671 Conform to the ISO 1990 C standard
1672
1673 std=c99
1674 C ObjC
1675 Conform to the ISO 1999 C standard
1676
1677 std=c9x
1678 C ObjC Alias(std=c99)
1679 Deprecated in favor of -std=c99
1680
1681 std=gnu++98
1682 C++ ObjC++
1683 Conform to the ISO 1998 C++ standard revised by the 2003 technical
1684 corrigendum with GNU extensions
1685
1686 std=gnu++03
1687 C++ ObjC++ Alias(std=gnu++98)
1688 Conform to the ISO 1998 C++ standard revised by the 2003 technical
1689 corrigendum with GNU extensions
1690
1691 std=gnu++11
1692 C++ ObjC++
1693 Conform to the ISO 2011 C++ standard with GNU extensions (experimental and incomplete support)
1694
1695 std=gnu++0x
1696 C++ ObjC++ Alias(std=gnu++11) Undocumented
1697 Deprecated in favor of -std=gnu++11
1698
1699 std=gnu++1y
1700 C++ ObjC++ Alias(std=gnu++14) Undocumented
1701 Deprecated in favor of -std=gnu++14
1702
1703 std=gnu++14
1704 C++ ObjC++
1705 Conform to the ISO 2014 C++ standard with GNU extensions (experimental and incomplete support)
1706
1707 std=gnu++1z
1708 C++ ObjC++
1709 Conform to the ISO 201z(7?) C++ draft standard with GNU extensions (experimental and incomplete support)
1710
1711 std=gnu++17
1712 C++ ObjC++ Alias(std=gnu++1z) Undocumented
1713
1714 std=gnu11
1715 C ObjC
1716 Conform to the ISO 2011 C standard with GNU extensions
1717
1718 std=gnu1x
1719 C ObjC Alias(std=gnu11)
1720 Deprecated in favor of -std=gnu11
1721
1722 std=gnu89
1723 C ObjC Alias(std=gnu90)
1724 Conform to the ISO 1990 C standard with GNU extensions
1725
1726 std=gnu90
1727 C ObjC
1728 Conform to the ISO 1990 C standard with GNU extensions
1729
1730 std=gnu99
1731 C ObjC
1732 Conform to the ISO 1999 C standard with GNU extensions
1733
1734 std=gnu9x
1735 C ObjC Alias(std=gnu99)
1736 Deprecated in favor of -std=gnu99
1737
1738 std=iso9899:1990
1739 C ObjC Alias(std=c90)
1740 Conform to the ISO 1990 C standard
1741
1742 std=iso9899:199409
1743 C ObjC
1744 Conform to the ISO 1990 C standard as amended in 1994
1745
1746 std=iso9899:1999
1747 C ObjC Alias(std=c99)
1748 Conform to the ISO 1999 C standard
1749
1750 std=iso9899:199x
1751 C ObjC Alias(std=c99)
1752 Deprecated in favor of -std=iso9899:1999
1753
1754 std=iso9899:2011
1755 C ObjC Alias(std=c11)
1756 Conform to the ISO 2011 C standard
1757
1758 traditional
1759 Driver
1760
1761 traditional-cpp
1762 C ObjC C++ ObjC++
1763 Enable traditional preprocessing
1764
1765 trigraphs
1766 C ObjC C++ ObjC++
1767 -trigraphs Support ISO C trigraphs
1768
1769 undef
1770 C ObjC C++ ObjC++ Var(flag_undef)
1771 Do not predefine system-specific and GCC-specific macros
1772
1773 v
1774 C ObjC C++ ObjC++
1775 ; Documented in common.opt
1776
1777 w
1778 C ObjC C++ ObjC++
1779 ; Documented in common.opt
1780
1781 ; This comment is to ensure we retain the blank line above.