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