]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/common.opt
Add fuzzing coverage support
[thirdparty/gcc.git] / gcc / common.opt
1 ; Options for the language- and target-independent parts of the compiler.
2
3 ; Copyright (C) 2003-2015 Free Software Foundation, Inc.
4 ;
5 ; This file is part of GCC.
6 ;
7 ; GCC is free software; you can redistribute it and/or modify it under
8 ; the terms of the GNU General Public License as published by the Free
9 ; Software Foundation; either version 3, or (at your option) any later
10 ; version.
11 ;
12 ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 ; WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 ; for more details.
16 ;
17 ; You should have received a copy of the GNU General Public License
18 ; along with GCC; see the file COPYING3. If not see
19 ; <http://www.gnu.org/licenses/>.
20
21 ; See the GCC internals manual (options.texi) for a description of this file's format.
22
23 ; Please try to keep this file in ASCII collating order.
24
25 Variable
26 int target_flags
27
28 Variable
29 int optimize
30
31 Variable
32 int optimize_size
33
34 Variable
35 int optimize_debug
36
37 ; Not used directly to control optimizations, only to save -Ofast
38 ; setting for "optimize" attributes.
39 Variable
40 int optimize_fast
41
42 ; True if this is the lto front end. This is used to disable gimple
43 ; generation and lowering passes that are normally run on the output
44 ; of a front end. These passes must be bypassed for lto since they
45 ; have already been done before the gimple was written.
46 Variable
47 bool in_lto_p = false
48
49 ; This variable is set to non-0 only by LTO front-end. 1 indicates that
50 ; the output produced will be used for incrmeental linking (thus weak symbols
51 ; can still be bound).
52 Variable
53 int flag_incremental_link = 0
54
55 ; 0 means straightforward implementation of complex divide acceptable.
56 ; 1 means wide ranges of inputs must work for complex divide.
57 ; 2 means C99-like requirements for complex multiply and divide.
58 Variable
59 int flag_complex_method = 1
60
61 ; Nonzero if subexpressions must be evaluated from left-to-right.
62 Variable
63 int flag_evaluation_order = 0
64
65 ; Language specific warning pass for unused results.
66 Variable
67 bool flag_warn_unused_result = false
68
69 Variable
70 int *param_values
71
72 ; Nonzero if we should write GIMPLE bytecode for link-time optimization.
73 Variable
74 int flag_generate_lto
75
76 ; Nonzero if we should write GIMPLE bytecode for offload compilation.
77 Variable
78 int flag_generate_offload = 0
79
80 ; True to warn about any objects definitions whose size is larger
81 ; than N bytes. Also want about function definitions whose returned
82 ; values are larger than N bytes, where N is 'larger_than_size'.
83 Variable
84 bool warn_larger_than
85
86 Variable
87 HOST_WIDE_INT larger_than_size
88
89 ; True to warn about any function whose frame size is larger
90 ; than N bytes.
91 Variable
92 bool warn_frame_larger_than
93
94 Variable
95 HOST_WIDE_INT frame_larger_than_size
96
97 ; Nonzero means we should be saving declaration info into a .X file.
98 Variable
99 int flag_gen_aux_info = 0
100
101 ; Nonzero if we are compiling code for a shared library, zero for
102 ; executable.
103 Variable
104 int flag_shlib
105
106 ; These two are really VEC(char_p,heap) *.
107
108 Variable
109 void *flag_instrument_functions_exclude_functions
110
111 Variable
112 void *flag_instrument_functions_exclude_files
113
114 ; Generic structs (e.g. templates not explicitly specialized)
115 ; may not have a compilation unit associated with them, and so
116 ; may need to be treated differently from ordinary structs.
117 ;
118 ; Structs only handled by reference (indirectly), will also usually
119 ; not need as much debugging information.
120
121 Variable
122 enum debug_struct_file debug_struct_ordinary[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }
123
124 Variable
125 enum debug_struct_file debug_struct_generic[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }
126
127 ; True if we should exit after parsing options.
128 Variable
129 bool exit_after_options
130
131 ; Type(s) of debugging information we are producing (if any). See
132 ; flag-types.h for the definitions of the different possible types of
133 ; debugging information.
134 Variable
135 enum debug_info_type write_symbols = NO_DEBUG
136
137 ; Level of debugging information we are producing. See flag-types.h
138 ; for the definitions of the different possible levels.
139 Variable
140 enum debug_info_levels debug_info_level = DINFO_LEVEL_NONE
141
142 ; Nonzero means use GNU-only extensions in the generated symbolic
143 ; debugging information. Currently, this only has an effect when
144 ; write_symbols is set to DBX_DEBUG, XCOFF_DEBUG, or DWARF_DEBUG.
145 Variable
146 bool use_gnu_debug_info_extensions
147
148 ; Original value of maximum field alignment in bytes, specified via
149 ; -fpack-struct=<value>.
150 Variable
151 unsigned int initial_max_fld_align = TARGET_DEFAULT_PACK_STRUCT
152
153 ; Type of stack check.
154 Variable
155 enum stack_check_type flag_stack_check = NO_STACK_CHECK
156
157 ; True if stack usage information needs to be computed.
158 Variable
159 bool flag_stack_usage_info = false
160
161 ; -dA causes debug commentary information to be produced in
162 ; the generated assembly code (to make it more readable). This option
163 ; is generally only of use to those who actually need to read the
164 ; generated assembly code (perhaps while debugging the compiler itself).
165 ; Currently, this switch is only used by dwarf2out.c; however, it is intended
166 ; to be a catchall for printing debug information in the assembler file.
167 Variable
168 int flag_debug_asm
169
170 ; -dP causes the rtl to be emitted as a comment in assembly.
171 Variable
172 int flag_dump_rtl_in_asm
173
174 ; Whether -da was passed (used only in handle_common_deferred_options).
175 Variable
176 bool flag_dump_all_passed
177
178 ; Other flags saying which kinds of debugging dump have been requested.
179
180 Variable
181 int rtl_dump_and_exit
182
183 Variable
184 int flag_print_asm_name
185
186 ; Name of top-level original source file (what was input to cpp).
187 ; This comes from the #-command at the beginning of the actual input.
188 ; If there isn't any there, then this is the cc1 input file name.
189 Variable
190 const char *main_input_filename
191
192 ; Pointer to base name in main_input_filename, with directories and a
193 ; single final extension removed, and the length of this base
194 ; name.
195
196 Variable
197 const char *main_input_basename
198
199 Variable
200 int main_input_baselength
201
202 ; Which options have been printed by --help.
203 Variable
204 char *help_printed
205
206 ; Which enums have been printed by --help. 0 = not printed, no
207 ; relevant options seen, 1 = relevant option seen, not yet printed, 2
208 ; = printed.
209 Variable
210 char *help_enum_printed
211
212 ; The number of columns for --help output.
213 Variable
214 unsigned int help_columns
215
216 ; Whether this options structure has been through finish_options
217 Variable
218 bool flag_opts_finished
219
220 ; What the sanitizer should instrument
221 Variable
222 unsigned int flag_sanitize
223
224 ; What sanitizers should recover from errors
225 Variable
226 unsigned int flag_sanitize_recover = SANITIZE_UNDEFINED | SANITIZE_NONDEFAULT | SANITIZE_KERNEL_ADDRESS
227
228 fsanitize-coverage=trace-pc
229 Common Report Var(flag_sanitize_coverage)
230 Enable coverage-guided fuzzing code instrumentation.
231 Inserts call to __sanitizer_cov_trace_pc into every basic block.
232
233 ; Flag whether a prefix has been added to dump_base_name
234 Variable
235 bool dump_base_name_prefixed = false
236
237 ###
238 Driver
239
240 -assemble
241 Driver Alias(S)
242
243 -compile
244 Driver Alias(c)
245
246 -coverage
247 Driver Alias(coverage)
248
249 -debug
250 Common Alias(g)
251
252 -dump
253 Common Separate Alias(d)
254
255 -dump=
256 Common Joined Alias(d)
257
258 -dumpbase
259 Common Separate Alias(dumpbase)
260
261 -dumpdir
262 Common Separate Alias(dumpdir)
263
264 -entry
265 Driver Separate Alias(e)
266
267 -entry=
268 Driver Joined Alias(e)
269
270 -extra-warnings
271 Common Warning Alias(Wextra)
272
273 -for-assembler
274 Driver Separate Alias(Xassembler)
275
276 -for-assembler=
277 Driver JoinedOrMissing Alias(Xassembler)
278
279 -for-linker
280 Driver Separate Alias(Xlinker)
281
282 -for-linker=
283 Driver JoinedOrMissing Alias(Xlinker)
284
285 -force-link
286 Driver Separate Alias(u)
287
288 -force-link=
289 Driver Joined Alias(u)
290
291 -help
292 Common Driver Var(help_flag)
293 Display this information.
294
295 -help=
296 Common Driver Report Joined
297 --help=<class> Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params.
298
299 -language
300 Driver Separate Alias(x)
301
302 -language=
303 Driver Joined Alias(x)
304
305 -library-directory
306 Driver Separate Alias(L)
307
308 -library-directory=
309 Driver Joined Alias(L)
310
311 -no-canonical-prefixes
312 Driver Alias(no-canonical-prefixes)
313
314 -no-standard-libraries
315 Driver Alias(nostdlib)
316
317 -no-sysroot-suffix
318 Driver Var(no_sysroot_suffix)
319
320 -no-warnings
321 Common Alias(w)
322
323 -optimize
324 Common Alias(O)
325
326 -output
327 Common Driver Separate Alias(o) MissingArgError(missing filename after %qs)
328
329 -output=
330 Common Driver Joined Alias(o) MissingArgError(missing filename after %qs)
331
332 -pass-exit-codes
333 Driver Alias(pass-exit-codes)
334
335 -pedantic
336 Common Alias(Wpedantic)
337
338 -pedantic-errors
339 Common Alias(pedantic-errors)
340
341 -pie
342 Driver Alias(pie)
343
344 -pipe
345 Driver Alias(pipe)
346
347 -prefix
348 Driver Separate Alias(B)
349
350 -prefix=
351 Driver JoinedOrMissing Alias(B)
352
353 -preprocess
354 Driver Alias(E)
355
356 -print-file-name
357 Driver Separate Alias(print-file-name=)
358
359 -print-file-name=
360 Driver JoinedOrMissing Alias(print-file-name=)
361
362 -print-libgcc-file-name
363 Driver Alias(print-libgcc-file-name)
364
365 -print-multi-directory
366 Driver Alias(print-multi-directory)
367
368 -print-multi-lib
369 Driver Alias(print-multi-lib)
370
371 -print-multi-os-directory
372 Driver Alias(print-multi-os-directory)
373
374 -print-multiarch
375 Driver Alias(print-multiarch)
376
377 -print-prog-name
378 Driver Separate Alias(print-prog-name=)
379
380 -print-prog-name=
381 Driver JoinedOrMissing Alias(print-prog-name=)
382
383 -print-search-dirs
384 Driver Alias(print-search-dirs)
385
386 -print-sysroot
387 Driver Alias(print-sysroot)
388
389 -print-sysroot-headers-suffix
390 Driver Alias(print-sysroot-headers-suffix)
391
392 -profile
393 Common Alias(p)
394
395 -save-temps
396 Driver Alias(save-temps)
397
398 -shared
399 Driver Alias(shared)
400
401 -specs
402 Driver Separate Alias(specs=)
403
404 -specs=
405 Driver Joined Alias(specs=)
406
407 -static
408 Driver Alias(static)
409
410 -symbolic
411 Driver Alias(symbolic)
412
413 -target-help
414 Common Driver
415 Alias for --help=target.
416
417 -time
418 Driver Alias(time)
419
420 -verbose
421 Driver Alias(v)
422
423 ;; The driver used to convert options such as --help into forms such
424 ;; as -fhelp; the following four entries are for compatibility with
425 ;; any direct uses of those (undocumented) -f forms
426 fhelp
427 Common Driver Alias(-help)
428
429 fhelp=
430 Common Driver Joined Alias(-help=)
431
432 ftarget-help
433 Common Driver Alias(-target-help)
434
435 fversion
436 Common Driver Alias(-version)
437
438 -param
439 Common Separate
440 --param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters.
441
442 -param=
443 Common Joined Alias(-param)
444
445 -sysroot
446 Driver Separate Alias(-sysroot=)
447
448 -sysroot=
449 Driver JoinedOrMissing
450
451 -version
452 Common Driver
453
454 B
455 Driver Joined Separate
456
457 E
458 Driver
459
460 L
461 Driver Joined Separate
462
463 N
464 Driver
465
466 O
467 Common JoinedOrMissing Optimization
468 -O<number> Set optimization level to <number>.
469
470 Os
471 Common Optimization
472 Optimize for space rather than speed.
473
474 Ofast
475 Common Optimization
476 Optimize for speed disregarding exact standards compliance.
477
478 Og
479 Common Optimization
480 Optimize for debugging experience rather than speed or size.
481
482 Q
483 Driver
484
485 Qn
486 Driver Negative(Qy)
487
488 Qy
489 Driver Negative(Qn)
490
491 R
492 Driver Joined Separate
493
494 S
495 Driver
496
497 T
498 Driver Joined Separate
499
500 Tbss
501 Driver Separate
502
503 Tbss=
504 Driver Joined
505
506 Tdata
507 Driver Separate
508
509 Tdata=
510 Driver Joined
511
512 Ttext
513 Driver Separate
514
515 Ttext=
516 Driver Joined
517
518 W
519 Common RejectNegative Warning Alias(Wextra)
520 This switch is deprecated; use -Wextra instead.
521
522 Wa,
523 Driver JoinedOrMissing
524
525 Wl,
526 Driver JoinedOrMissing
527
528 Wp,
529 Driver JoinedOrMissing
530
531 Waggregate-return
532 Common Var(warn_aggregate_return) Warning
533 Warn about returning structures, unions or arrays.
534
535 Waggressive-loop-optimizations
536 Common Var(warn_aggressive_loop_optimizations) Init(1) Warning
537 Warn if a loop with constant number of iterations triggers undefined behavior.
538
539 Warray-bounds
540 Common Var(warn_array_bounds) Warning
541 Warn if an array is accessed out of bounds.
542
543 Warray-bounds=
544 Common Joined RejectNegative UInteger Var(warn_array_bounds) Warning
545 Warn if an array is accessed out of bounds.
546
547 Wattributes
548 Common Var(warn_attributes) Init(1) Warning
549 Warn about inappropriate attribute usage.
550
551 Wcast-align
552 Common Var(warn_cast_align) Warning
553 Warn about pointer casts which increase alignment.
554
555 Wcpp
556 Common Var(warn_cpp) Init(1) Warning
557 Warn when a #warning directive is encountered.
558
559 Wdeprecated-declarations
560 Common Var(warn_deprecated_decl) Init(1) Warning
561 Warn about uses of __attribute__((deprecated)) declarations.
562
563 Wdisabled-optimization
564 Common Var(warn_disabled_optimization) Warning
565 Warn when an optimization pass is disabled.
566
567 Werror
568 Common Var(warnings_are_errors)
569 Treat all warnings as errors.
570
571 Werror=
572 Common Joined
573 Treat specified warning as error.
574
575 Wextra
576 Common Var(extra_warnings) Warning
577 Print extra (possibly unwanted) warnings.
578
579 Wfatal-errors
580 Common Var(flag_fatal_errors)
581 Exit on the first error occurred.
582
583 Wframe-larger-than=
584 Common RejectNegative Joined UInteger
585 -Wframe-larger-than=<number> Warn if a function's stack frame requires more than <number> bytes.
586
587 Wfree-nonheap-object
588 Common Var(warn_free_nonheap_object) Init(1) Warning
589 Warn when attempting to free a non-heap object.
590
591 Winline
592 Common Var(warn_inline) Warning
593 Warn when an inlined function cannot be inlined.
594
595 Winvalid-memory-model
596 Common Var(warn_invalid_memory_model) Init(1) Warning
597 Warn when an atomic memory model parameter is known to be outside the valid range.
598
599 Wlarger-than-
600 Common RejectNegative Joined Warning Undocumented Alias(Wlarger-than=)
601
602 Wlarger-than=
603 Common RejectNegative Joined UInteger Warning
604 -Wlarger-than=<number> Warn if an object is larger than <number> bytes.
605
606 Wnull-dereference
607 Common Var(warn_null_dereference) Warning
608 Warn if dereferencing a NULL pointer may lead to erroneous or undefined behavior.
609
610 Wunsafe-loop-optimizations
611 Common Var(warn_unsafe_loop_optimizations) Warning
612 Warn if the loop cannot be optimized due to nontrivial assumptions.
613
614 Wmissing-noreturn
615 Common Alias(Wsuggest-attribute=noreturn)
616
617 Wodr
618 Common Var(warn_odr_violations) Init(1) Warning
619 Warn about some C++ One Definition Rule violations during link time optimization.
620
621 Woverflow
622 Common Var(warn_overflow) Init(1) Warning
623 Warn about overflow in arithmetic expressions.
624
625 Wlto-type-mismatch
626 Common Var(warn_lto_type_mismatch) Init(1) Warning
627 During link time optimization warn about mismatched types of global declarations.
628
629 Wpacked
630 Common Var(warn_packed) Warning
631 Warn when the packed attribute has no effect on struct layout.
632
633 Wpadded
634 Common Var(warn_padded) Warning
635 Warn when padding is required to align structure members.
636
637 Wpedantic
638 Common Var(pedantic) Init(0) Warning
639 Issue warnings needed for strict compliance to the standard.
640
641 Wreturn-local-addr
642 Common Var(warn_return_local_addr) Init(1) Warning
643 Warn about returning a pointer/reference to a local or temporary variable.
644
645 Wshadow
646 Common Var(warn_shadow) Warning
647 Warn when one local variable shadows another.
648
649 Wstack-protector
650 Common Var(warn_stack_protect) Warning
651 Warn when not issuing stack smashing protection for some reason.
652
653 Wstack-usage=
654 Common Joined RejectNegative UInteger Var(warn_stack_usage) Init(-1) Warning
655 Warn if stack usage might be larger than specified amount.
656
657 Wstrict-aliasing
658 Common Warning
659 Warn about code which might break strict aliasing rules.
660
661 Wstrict-aliasing=
662 Common Joined RejectNegative UInteger Var(warn_strict_aliasing) Warning
663 Warn about code which might break strict aliasing rules.
664
665 Wstrict-overflow
666 Common Warning
667 Warn about optimizations that assume that signed overflow is undefined.
668
669 Wstrict-overflow=
670 Common Joined RejectNegative UInteger Var(warn_strict_overflow) Warning
671 Warn about optimizations that assume that signed overflow is undefined.
672
673 Wsuggest-attribute=const
674 Common Var(warn_suggest_attribute_const) Warning
675 Warn about functions which might be candidates for __attribute__((const)).
676
677 Wsuggest-attribute=pure
678 Common Var(warn_suggest_attribute_pure) Warning
679 Warn about functions which might be candidates for __attribute__((pure)).
680
681 Wsuggest-attribute=noreturn
682 Common Var(warn_suggest_attribute_noreturn) Warning
683 Warn about functions which might be candidates for __attribute__((noreturn)).
684
685 Wsuggest-final-types
686 Common Var(warn_suggest_final_types) Warning
687 Warn about C++ polymorphic types where adding final keyword would improve code quality.
688
689 Wsuggest-final-methods
690 Common Var(warn_suggest_final_methods) Warning
691 Warn about C++ virtual methods where adding final keyword would improve code quality.
692
693 Wsystem-headers
694 Common Var(warn_system_headers) Warning
695 Do not suppress warnings from system headers.
696
697 Wtrampolines
698 Common Var(warn_trampolines) Warning
699 Warn whenever a trampoline is generated.
700
701 Wtype-limits
702 Common Var(warn_type_limits) Warning EnabledBy(Wextra)
703 Warn if a comparison is always true or always false due to the limited range of the data type.
704
705 Wuninitialized
706 Common Var(warn_uninitialized) Warning EnabledBy(Wextra)
707 Warn about uninitialized automatic variables.
708
709 Wmaybe-uninitialized
710 Common Var(warn_maybe_uninitialized) Warning EnabledBy(Wuninitialized)
711 Warn about maybe uninitialized automatic variables.
712
713 Wunreachable-code
714 Common Ignore
715 Does nothing. Preserved for backward compatibility.
716
717 Wunused
718 Common Var(warn_unused) Init(0) Warning
719 Enable all -Wunused- warnings.
720
721 Wunused-but-set-parameter
722 Common Var(warn_unused_but_set_parameter) Warning EnabledBy(Wunused && Wextra)
723 Warn when a function parameter is only set, otherwise unused.
724
725 Wunused-but-set-variable
726 Common Var(warn_unused_but_set_variable) Warning EnabledBy(Wunused)
727 Warn when a variable is only set, otherwise unused.
728
729 Wunused-function
730 Common Var(warn_unused_function) Warning EnabledBy(Wunused)
731 Warn when a function is unused.
732
733 Wunused-label
734 Common Var(warn_unused_label) Warning EnabledBy(Wunused)
735 Warn when a label is unused.
736
737 Wunused-parameter
738 Common Var(warn_unused_parameter) Warning EnabledBy(Wunused && Wextra)
739 Warn when a function parameter is unused.
740
741 Wunused-value
742 Common Var(warn_unused_value) Warning EnabledBy(Wunused)
743 Warn when an expression value is unused.
744
745 Wunused-variable
746 Common Var(warn_unused_variable) Warning EnabledBy(Wunused)
747 Warn when a variable is unused.
748
749 Wcoverage-mismatch
750 Common Var(warn_coverage_mismatch) Init(1) Warning
751 Warn in case profiles in -fprofile-use do not match.
752
753 Wvector-operation-performance
754 Common Var(warn_vector_operation_performance) Warning
755 Warn when a vector operation is compiled outside the SIMD.
756
757 Xassembler
758 Driver Separate
759
760 Xlinker
761 Driver Separate
762
763 Xpreprocessor
764 Driver Separate
765
766 Z
767 Driver
768
769 aux-info
770 Common Separate Var(aux_info_file_name)
771 -aux-info <file> Emit declaration information into <file>.
772
773 aux-info=
774 Common Joined Alias(aux-info)
775
776 auxbase
777 Common Separate RejectDriver Var(aux_base_name)
778
779 auxbase-strip
780 Common Separate RejectDriver
781
782 coverage
783 Driver
784
785 c
786 Driver
787
788 d
789 Common Joined
790 -d<letters> Enable dumps from specific passes of the compiler.
791
792 dumpbase
793 Common Separate Var(dump_base_name)
794 -dumpbase <file> Set the file basename to be used for dumps.
795
796 dumpdir
797 Common Separate Var(dump_dir_name)
798 -dumpdir <dir> Set the directory name to be used for dumps.
799
800 dumpmachine
801 Driver
802
803 dumpspecs
804 Driver
805
806 dumpversion
807 Driver
808
809 e
810 Driver Joined Separate
811
812 ; This option has historically been passed down to the linker by an
813 ; accident of a %{e*} spec, so ensure it continues to be passed down
814 ; as a single option. The supported option for this purpose is
815 ; -rdynamic. See PR 47390.
816 export-dynamic
817 Driver Undocumented
818
819 ; The version of the C++ ABI in use. The following values are allowed:
820 ;
821 ; 0: The version of the ABI believed most conformant with the C++ ABI
822 ; specification. This ABI may change as bugs are discovered and fixed.
823 ; Therefore, 0 will not necessarily indicate the same ABI in different
824 ; versions of G++.
825 ;
826 ; 1: The version of the ABI first used in G++ 3.2. No longer selectable.
827 ;
828 ; 2: The version of the ABI first used in G++ 3.4, and the default
829 ; until GCC 4.9.
830 ;
831 ; 3: The version of the ABI that fixes the missing underscore
832 ; in template non-type arguments of pointer type.
833 ;
834 ; 4: The version of the ABI that introduces unambiguous mangling of
835 ; vector types. First selectable in G++ 4.5.
836 ;
837 ; 5: The version of the ABI that ignores attribute const/noreturn
838 ; in function pointer mangling, and corrects mangling of decltype and
839 ; function parameters used in other parameters and the return type.
840 ; First selectable in G++ 4.6.
841 ;
842 ; 6: The version of the ABI that doesn't promote scoped enums to int and
843 ; changes the mangling of template argument packs, const/static_cast,
844 ; prefix ++ and --, and a class scope function used as a template
845 ; argument.
846 ; First selectable in G++ 4.7.
847 ;
848 ; 7: The version of the ABI that treats nullptr_t as a builtin type and
849 ; corrects the mangling of lambdas in default argument scope.
850 ; First selectable in G++ 4.8.
851 ;
852 ; 8: The version of the ABI that corrects the substitution behavior of
853 ; function types with function-cv-qualifiers.
854 ; First selectable in G++ 4.9 and default in G++ 5.
855 ;
856 ; 9: The version of the ABI that corrects the alignment of nullptr_t.
857 ; First selectable and default in G++ 5.2.
858 ;
859 ; 10: The version of the ABI that mangles attributes that affect type
860 ; identity, such as ia32 calling convention attributes (stdcall, etc.)
861 ; Default in G++ 6 (set in c_common_post_options).
862 ;
863 ; Additional positive integers will be assigned as new versions of
864 ; the ABI become the default version of the ABI.
865 fabi-version=
866 Common Joined RejectNegative UInteger Var(flag_abi_version) Init(0)
867 The version of the C++ ABI in use.
868
869 faggressive-loop-optimizations
870 Common Report Var(flag_aggressive_loop_optimizations) Optimization Init(1)
871 Aggressively optimize loops using language constraints.
872
873 falign-functions
874 Common Report Var(align_functions,0) Optimization UInteger
875 Align the start of functions.
876
877 falign-functions=
878 Common RejectNegative Joined UInteger Var(align_functions)
879
880 falign-jumps
881 Common Report Var(align_jumps,0) Optimization UInteger
882 Align labels which are only reached by jumping.
883
884 falign-jumps=
885 Common RejectNegative Joined UInteger Var(align_jumps)
886
887 falign-labels
888 Common Report Var(align_labels,0) Optimization UInteger
889 Align all labels.
890
891 falign-labels=
892 Common RejectNegative Joined UInteger Var(align_labels)
893
894 falign-loops
895 Common Report Var(align_loops,0) Optimization UInteger
896 Align the start of loops.
897
898 falign-loops=
899 Common RejectNegative Joined UInteger Var(align_loops)
900
901 fargument-alias
902 Common Ignore
903 Does nothing. Preserved for backward compatibility.
904
905 fargument-noalias
906 Common Ignore
907 Does nothing. Preserved for backward compatibility.
908
909 fargument-noalias-global
910 Common Ignore
911 Does nothing. Preserved for backward compatibility.
912
913 fargument-noalias-anything
914 Common Ignore
915 Does nothing. Preserved for backward compatibility.
916
917 fsanitize=
918 Common Driver Report Joined
919 Select what to sanitize.
920
921 fasan-shadow-offset=
922 Common Joined RejectNegative Var(common_deferred_options) Defer
923 -fasan-shadow-offset=<number> Use custom shadow memory offset.
924
925 fsanitize-sections=
926 Common Joined RejectNegative Var(common_deferred_options) Defer
927 -fsanitize-sections=<sec1,sec2,...> Sanitize global variables
928 in user-defined sections.
929
930 fsanitize-recover=
931 Common Report Joined
932 After diagnosing undefined behavior attempt to continue execution.
933
934 fsanitize-recover
935 Common Report
936 This switch is deprecated; use -fsanitize-recover= instead.
937
938 fsanitize-undefined-trap-on-error
939 Common Driver Report Var(flag_sanitize_undefined_trap_on_error) Init(0)
940 Use trap instead of a library function for undefined behavior sanitization.
941
942 fasynchronous-unwind-tables
943 Common Report Var(flag_asynchronous_unwind_tables) Optimization
944 Generate unwind tables that are exact at each instruction boundary.
945
946 fauto-inc-dec
947 Common Report Var(flag_auto_inc_dec) Init(1) Optimization
948 Generate auto-inc/dec instructions.
949
950 fauto-profile
951 Common Report Var(flag_auto_profile)
952 Use sample profile information for call graph node weights. The default
953 profile file is fbdata.afdo in 'pwd'.
954
955 fauto-profile=
956 Common Joined RejectNegative Var(auto_profile_file)
957 Use sample profile information for call graph node weights. The profile
958 file is specified in the argument.
959
960 ; -fcheck-bounds causes gcc to generate array bounds checks.
961 ; For C, C++ and ObjC: defaults off.
962 ; For Java: defaults to on.
963 ; For Fortran: defaults to off.
964 fbounds-check
965 Common Report Var(flag_bounds_check)
966 Generate code to check bounds before indexing arrays.
967
968 fbranch-count-reg
969 Common Report Var(flag_branch_on_count_reg) Optimization
970 Replace add, compare, branch with branch on count register.
971
972 fbranch-probabilities
973 Common Report Var(flag_branch_probabilities) Optimization
974 Use profiling information for branch probabilities.
975
976 fbranch-target-load-optimize
977 Common Report Var(flag_branch_target_load_optimize) Optimization
978 Perform branch target load optimization before prologue / epilogue threading.
979
980 fbranch-target-load-optimize2
981 Common Report Var(flag_branch_target_load_optimize2) Optimization
982 Perform branch target load optimization after prologue / epilogue threading.
983
984 fbtr-bb-exclusive
985 Common Report Var(flag_btr_bb_exclusive) Optimization
986 Restrict target load migration not to re-use registers in any basic block.
987
988 fcall-saved-
989 Common Joined RejectNegative Var(common_deferred_options) Defer
990 -fcall-saved-<register> Mark <register> as being preserved across functions.
991
992 fcall-used-
993 Common Joined RejectNegative Var(common_deferred_options) Defer
994 -fcall-used-<register> Mark <register> as being corrupted by function calls.
995
996 ; Nonzero for -fcaller-saves: allocate values in regs that need to
997 ; be saved across function calls, if that produces overall better code.
998 ; Optional now, so people can test it.
999 fcaller-saves
1000 Common Report Var(flag_caller_saves) Optimization
1001 Save registers around function calls.
1002
1003 fcheck-data-deps
1004 Common Report Var(flag_check_data_deps)
1005 This switch is deprecated; do not use.
1006
1007 fcheck-new
1008 Common Var(flag_check_new)
1009 Check the return value of new in C++.
1010
1011 fchecking
1012 Common Var(flag_checking) Init(CHECKING_P)
1013 Perform internal consistency checkings.
1014
1015 fcombine-stack-adjustments
1016 Common Report Var(flag_combine_stack_adjustments) Optimization
1017 Looks for opportunities to reduce stack adjustments and stack references.
1018
1019 fcommon
1020 Common Report Var(flag_no_common,0)
1021 Do not put uninitialized globals in the common section.
1022
1023 fcompare-debug
1024 Driver
1025 ; Converted by the driver to -fcompare-debug= options.
1026
1027 fcompare-debug=
1028 Common Driver JoinedOrMissing RejectNegative Var(flag_compare_debug_opt)
1029 -fcompare-debug[=<opts>] Compile with and without e.g. -gtoggle, and compare the final-insns dump.
1030
1031 fcompare-debug-second
1032 Common Driver RejectNegative Var(flag_compare_debug)
1033 Run only the second compilation of -fcompare-debug.
1034
1035 fcompare-elim
1036 Common Report Var(flag_compare_elim_after_reload) Optimization
1037 Perform comparison elimination after register allocation has finished.
1038
1039 fconserve-stack
1040 Common Var(flag_conserve_stack) Optimization
1041 Do not perform optimizations increasing noticeably stack usage.
1042
1043 fcprop-registers
1044 Common Report Var(flag_cprop_registers) Optimization
1045 Perform a register copy-propagation optimization pass.
1046
1047 fcrossjumping
1048 Common Report Var(flag_crossjumping) Optimization
1049 Perform cross-jumping optimization.
1050
1051 fcse-follow-jumps
1052 Common Report Var(flag_cse_follow_jumps) Optimization
1053 When running CSE, follow jumps to their targets.
1054
1055 fcse-skip-blocks
1056 Common Ignore
1057 Does nothing. Preserved for backward compatibility.
1058
1059 fcx-limited-range
1060 Common Report Var(flag_cx_limited_range) Optimization SetByCombined
1061 Omit range reduction step when performing complex division.
1062
1063 fcx-fortran-rules
1064 Common Report Var(flag_cx_fortran_rules) Optimization
1065 Complex multiplication and division follow Fortran rules.
1066
1067 fdata-sections
1068 Common Report Var(flag_data_sections)
1069 Place data items into their own section.
1070
1071 fdbg-cnt-list
1072 Common Report Var(common_deferred_options) Defer
1073 List all available debugging counters with their limits and counts.
1074
1075 fdbg-cnt=
1076 Common RejectNegative Joined Var(common_deferred_options) Defer
1077 -fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit.
1078
1079 fdebug-prefix-map=
1080 Common Joined RejectNegative Var(common_deferred_options) Defer
1081 Map one directory name to another in debug information.
1082
1083 fdebug-types-section
1084 Common Report Var(flag_debug_types_section) Init(0)
1085 Output .debug_types section when using DWARF v4 debuginfo.
1086
1087 ; Nonzero for -fdefer-pop: don't pop args after each function call
1088 ; instead save them up to pop many calls' args with one insns.
1089 fdefer-pop
1090 Common Report Var(flag_defer_pop) Optimization
1091 Defer popping functions args from stack until later.
1092
1093 fdelayed-branch
1094 Common Report Var(flag_delayed_branch) Optimization
1095 Attempt to fill delay slots of branch instructions.
1096
1097 fdelete-dead-exceptions
1098 Common Report Var(flag_delete_dead_exceptions) Init(0) Optimization
1099 Delete dead instructions that may throw exceptions.
1100
1101 fdelete-null-pointer-checks
1102 Common Report Var(flag_delete_null_pointer_checks) Init(-1) Optimization
1103 Delete useless null pointer checks.
1104
1105 fdevirtualize-at-ltrans
1106 Common Report Var(flag_ltrans_devirtualize)
1107 Stream extra data to support more aggressive devirtualization in LTO local transformation mode.
1108
1109 fdevirtualize-speculatively
1110 Common Report Var(flag_devirtualize_speculatively) Optimization
1111 Perform speculative devirtualization.
1112
1113 fdevirtualize
1114 Common Report Var(flag_devirtualize) Optimization
1115 Try to convert virtual calls to direct ones.
1116
1117 fdiagnostics-show-location=
1118 Common Joined RejectNegative Enum(diagnostic_prefixing_rule)
1119 -fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics.
1120
1121 ; Required for these enum values.
1122 SourceInclude
1123 pretty-print.h
1124
1125 Enum
1126 Name(diagnostic_prefixing_rule) Type(int)
1127
1128 EnumValue
1129 Enum(diagnostic_prefixing_rule) String(once) Value(DIAGNOSTICS_SHOW_PREFIX_ONCE)
1130
1131 EnumValue
1132 Enum(diagnostic_prefixing_rule) String(every-line) Value(DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE)
1133
1134 fdiagnostics-show-caret
1135 Common Var(flag_diagnostics_show_caret) Init(1)
1136 Show the source line with a caret indicating the column.
1137
1138 fdiagnostics-color
1139 Common Alias(fdiagnostics-color=,always,never)
1140 ;
1141
1142 fdiagnostics-color=
1143 Driver Common Joined RejectNegative Var(flag_diagnostics_show_color) Enum(diagnostic_color_rule) Init(DIAGNOSTICS_COLOR_NO)
1144 -fdiagnostics-color=[never|always|auto] Colorize diagnostics.
1145
1146 ; Required for these enum values.
1147 SourceInclude
1148 diagnostic-color.h
1149
1150 Enum
1151 Name(diagnostic_color_rule) Type(int)
1152
1153 EnumValue
1154 Enum(diagnostic_color_rule) String(never) Value(DIAGNOSTICS_COLOR_NO)
1155
1156 EnumValue
1157 Enum(diagnostic_color_rule) String(always) Value(DIAGNOSTICS_COLOR_YES)
1158
1159 EnumValue
1160 Enum(diagnostic_color_rule) String(auto) Value(DIAGNOSTICS_COLOR_AUTO)
1161
1162 fdiagnostics-show-option
1163 Common Var(flag_diagnostics_show_option) Init(1)
1164 Amend appropriate diagnostic messages with the command line option that controls them.
1165
1166 fdisable-
1167 Common Joined RejectNegative Var(common_deferred_options) Defer
1168 -fdisable-[tree|rtl|ipa]-<pass>=range1+range2 disables an optimization pass.
1169
1170 fenable-
1171 Common Joined RejectNegative Var(common_deferred_options) Defer
1172 -fenable-[tree|rtl|ipa]-<pass>=range1+range2 enables an optimization pass.
1173
1174 fdump-
1175 Common Joined RejectNegative Var(common_deferred_options) Defer
1176 -fdump-<type> Dump various compiler internals to a file.
1177
1178 fdump-final-insns
1179 Driver RejectNegative
1180
1181 fdump-final-insns=
1182 Common RejectNegative Joined Var(flag_dump_final_insns)
1183 -fdump-final-insns=filename Dump to filename the insns at the end of translation.
1184
1185 fdump-go-spec=
1186 Common RejectNegative Joined Var(flag_dump_go_spec)
1187 -fdump-go-spec=filename Write all declarations to file as Go code.
1188
1189 fdump-noaddr
1190 Common Report Var(flag_dump_noaddr)
1191 Suppress output of addresses in debugging dumps.
1192
1193 freport-bug
1194 Common Driver Var(flag_report_bug)
1195 Collect and dump debug information into temporary file if ICE in C/C++
1196 compiler occured.
1197
1198 fdump-internal-locations
1199 Common Var(flag_dump_locations) Init(0)
1200 Dump detailed information on GCC's internal representation of source code locations.
1201
1202 fdump-passes
1203 Common Var(flag_dump_passes) Init(0)
1204 Dump optimization passes.
1205
1206 fdump-unnumbered
1207 Common Report Var(flag_dump_unnumbered)
1208 Suppress output of instruction numbers, line number notes and addresses in debugging dumps.
1209
1210 fdump-unnumbered-links
1211 Common Report Var(flag_dump_unnumbered_links)
1212 Suppress output of previous and next insn numbers in debugging dumps.
1213
1214 fdwarf2-cfi-asm
1215 Common Report Var(flag_dwarf2_cfi_asm) Init(HAVE_GAS_CFI_DIRECTIVE)
1216 Enable CFI tables via GAS assembler directives.
1217
1218 fearly-inlining
1219 Common Report Var(flag_early_inlining) Init(1) Optimization
1220 Perform early inlining.
1221
1222 feliminate-dwarf2-dups
1223 Common Report Var(flag_eliminate_dwarf2_dups)
1224 Perform DWARF2 duplicate elimination.
1225
1226 fipa-sra
1227 Common Report Var(flag_ipa_sra) Init(0) Optimization
1228 Perform interprocedural reduction of aggregates.
1229
1230 feliminate-unused-debug-symbols
1231 Common Report Var(flag_debug_only_used_symbols)
1232 Perform unused symbol elimination in debug info.
1233
1234 feliminate-unused-debug-types
1235 Common Report Var(flag_eliminate_unused_debug_types) Init(1)
1236 Perform unused type elimination in debug info.
1237
1238 femit-class-debug-always
1239 Common Report Var(flag_emit_class_debug_always) Init(0)
1240 Do not suppress C++ class debug information.
1241
1242 fexceptions
1243 Common Report Var(flag_exceptions) Optimization
1244 Enable exception handling.
1245
1246 fexpensive-optimizations
1247 Common Report Var(flag_expensive_optimizations) Optimization
1248 Perform a number of minor, expensive optimizations.
1249
1250 fexcess-precision=
1251 Common Joined RejectNegative Enum(excess_precision) Var(flag_excess_precision_cmdline) Init(EXCESS_PRECISION_DEFAULT)
1252 -fexcess-precision=[fast|standard] Specify handling of excess floating-point precision.
1253
1254 Enum
1255 Name(excess_precision) Type(enum excess_precision) UnknownError(unknown excess precision style %qs)
1256
1257 EnumValue
1258 Enum(excess_precision) String(fast) Value(EXCESS_PRECISION_FAST)
1259
1260 EnumValue
1261 Enum(excess_precision) String(standard) Value(EXCESS_PRECISION_STANDARD)
1262
1263 ffast-math
1264 Common
1265
1266 ffat-lto-objects
1267 Common Var(flag_fat_lto_objects)
1268 Output lto objects containing both the intermediate language and binary output.
1269
1270 ffinite-math-only
1271 Common Report Var(flag_finite_math_only) Optimization SetByCombined
1272 Assume no NaNs or infinities are generated.
1273
1274 ffixed-
1275 Common Joined RejectNegative Var(common_deferred_options) Defer
1276 -ffixed-<register> Mark <register> as being unavailable to the compiler.
1277
1278 ffloat-store
1279 Common Report Var(flag_float_store) Optimization
1280 Don't allocate floats and doubles in extended-precision registers.
1281
1282 fforce-addr
1283 Common Ignore
1284 Does nothing. Preserved for backward compatibility.
1285
1286 fforward-propagate
1287 Common Report Var(flag_forward_propagate) Optimization
1288 Perform a forward propagation pass on RTL.
1289
1290 ffp-contract=
1291 Common Joined RejectNegative Enum(fp_contract_mode) Var(flag_fp_contract_mode) Init(FP_CONTRACT_FAST) Optimization
1292 -ffp-contract=[off|on|fast] Perform floating-point expression contraction.
1293
1294 Enum
1295 Name(fp_contract_mode) Type(enum fp_contract_mode) UnknownError(unknown floating point contraction style %qs)
1296
1297 EnumValue
1298 Enum(fp_contract_mode) String(off) Value(FP_CONTRACT_OFF)
1299
1300 ; Not implemented, fall back to conservative FP_CONTRACT_OFF.
1301 EnumValue
1302 Enum(fp_contract_mode) String(on) Value(FP_CONTRACT_OFF)
1303
1304 EnumValue
1305 Enum(fp_contract_mode) String(fast) Value(FP_CONTRACT_FAST)
1306
1307 ; Nonzero means don't put addresses of constant functions in registers.
1308 ; Used for compiling the Unix kernel, where strange substitutions are
1309 ; done on the assembly output.
1310 ffunction-cse
1311 Common Report Var(flag_no_function_cse,0) Optimization
1312 Allow function addresses to be held in registers.
1313
1314 ffunction-sections
1315 Common Report Var(flag_function_sections)
1316 Place each function into its own section.
1317
1318 fgcse
1319 Common Report Var(flag_gcse) Optimization
1320 Perform global common subexpression elimination.
1321
1322 fgcse-lm
1323 Common Report Var(flag_gcse_lm) Init(1) Optimization
1324 Perform enhanced load motion during global common subexpression elimination.
1325
1326 fgcse-sm
1327 Common Report Var(flag_gcse_sm) Init(0) Optimization
1328 Perform store motion after global common subexpression elimination.
1329
1330 fgcse-las
1331 Common Report Var(flag_gcse_las) Init(0) Optimization
1332 Perform redundant load after store elimination in global common subexpression
1333 elimination.
1334
1335 fgcse-after-reload
1336 Common Report Var(flag_gcse_after_reload) Optimization
1337 Perform global common subexpression elimination after register allocation has
1338 finished.
1339
1340 ; This option is not documented yet as its semantics will change.
1341 fgraphite
1342 Common Report Var(flag_graphite) Optimization
1343 Enable in and out of Graphite representation.
1344
1345 fgraphite-identity
1346 Common Report Var(flag_graphite_identity) Optimization
1347 Enable Graphite Identity transformation.
1348
1349 fhoist-adjacent-loads
1350 Common Report Var(flag_hoist_adjacent_loads) Optimization
1351 Enable hoisting adjacent loads to encourage generating conditional move
1352 instructions.
1353
1354 floop-parallelize-all
1355 Common Report Var(flag_loop_parallelize_all) Optimization
1356 Mark all loops as parallel.
1357
1358 floop-strip-mine
1359 Common Alias(floop-nest-optimize)
1360 Enable loop nest transforms. Same as -floop-nest-optimize.
1361
1362 floop-interchange
1363 Common Alias(floop-nest-optimize)
1364 Enable loop nest transforms. Same as -floop-nest-optimize.
1365
1366 floop-block
1367 Common Alias(floop-nest-optimize)
1368 Enable loop nest transforms. Same as -floop-nest-optimize.
1369
1370 floop-unroll-and-jam
1371 Common Alias(floop-nest-optimize)
1372 Enable loop nest transforms. Same as -floop-nest-optimize.
1373
1374 fgnu-tm
1375 Common Report Var(flag_tm)
1376 Enable support for GNU transactional memory.
1377
1378 fgnu-unique
1379 Common Report Var(flag_gnu_unique) Init(1)
1380 Use STB_GNU_UNIQUE if supported by the assembler.
1381
1382 floop-flatten
1383 Common Ignore
1384 Does nothing. Preserved for backward compatibility.
1385
1386 floop-nest-optimize
1387 Common Report Var(flag_loop_nest_optimize) Optimization
1388 Enable the ISL based loop nest optimizer.
1389
1390 fstrict-volatile-bitfields
1391 Common Report Var(flag_strict_volatile_bitfields) Init(-1) Optimization
1392 Force bitfield accesses to match their type width.
1393
1394 fguess-branch-probability
1395 Common Report Var(flag_guess_branch_prob) Optimization
1396 Enable guessing of branch probabilities.
1397
1398 ; Nonzero means ignore `#ident' directives. 0 means handle them.
1399 ; Generate position-independent code for executables if possible
1400 ; On SVR4 targets, it also controls whether or not to emit a
1401 ; string identifying the compiler.
1402 fident
1403 Common Report Var(flag_no_ident,0)
1404 Process #ident directives.
1405
1406 fif-conversion
1407 Common Report Var(flag_if_conversion) Optimization
1408 Perform conversion of conditional jumps to branchless equivalents.
1409
1410 fif-conversion2
1411 Common Report Var(flag_if_conversion2) Optimization
1412 Perform conversion of conditional jumps to conditional execution.
1413
1414 fstack-reuse=
1415 Common Joined RejectNegative Enum(stack_reuse_level) Var(flag_stack_reuse) Init(SR_ALL) Optimization
1416 -fstack-reuse=[all|named_vars|none] Set stack reuse level for local variables.
1417
1418 Enum
1419 Name(stack_reuse_level) Type(enum stack_reuse_level) UnknownError(unknown Stack Reuse Level %qs)
1420
1421 EnumValue
1422 Enum(stack_reuse_level) String(all) Value(SR_ALL)
1423
1424 EnumValue
1425 Enum(stack_reuse_level) String(named_vars) Value(SR_NAMED_VARS)
1426
1427 EnumValue
1428 Enum(stack_reuse_level) String(none) Value(SR_NONE)
1429
1430 ftree-loop-if-convert
1431 Common Report Var(flag_tree_loop_if_convert) Init(-1) Optimization
1432 Convert conditional jumps in innermost loops to branchless equivalents.
1433
1434 ftree-loop-if-convert-stores
1435 Common Report Var(flag_tree_loop_if_convert_stores) Optimization
1436 Also if-convert conditional jumps containing memory writes.
1437
1438 ; -finhibit-size-directive inhibits output of .size for ELF.
1439 ; This is used only for compiling crtstuff.c,
1440 ; and it may be extended to other effects
1441 ; needed for crtstuff.c on other systems.
1442 finhibit-size-directive
1443 Common Report Var(flag_inhibit_size_directive)
1444 Do not generate .size directives.
1445
1446 findirect-inlining
1447 Common Report Var(flag_indirect_inlining) Optimization
1448 Perform indirect inlining.
1449
1450 ; General flag to enable inlining. Specifying -fno-inline will disable
1451 ; all inlining apart from always-inline functions.
1452 finline
1453 Common Report Var(flag_no_inline,0) Init(0) Optimization
1454 Enable inlining of function declared \"inline\", disabling disables all inlining.
1455
1456 finline-small-functions
1457 Common Report Var(flag_inline_small_functions) Optimization
1458 Integrate functions into their callers when code size is known not to grow.
1459
1460 finline-functions
1461 Common Report Var(flag_inline_functions) Optimization
1462 Integrate functions not declared \"inline\" into their callers when profitable.
1463
1464 finline-functions-called-once
1465 Common Report Var(flag_inline_functions_called_once) Optimization
1466 Integrate functions only required by their single caller.
1467
1468 finline-limit-
1469 Common RejectNegative Joined Alias(finline-limit=)
1470
1471 finline-limit=
1472 Common RejectNegative Joined UInteger
1473 -finline-limit=<number> Limit the size of inlined functions to <number>.
1474
1475 finline-atomics
1476 Common Report Var(flag_inline_atomics) Init(1) Optimization
1477 Inline __atomic operations when a lock free instruction sequence is available.
1478
1479 finstrument-functions
1480 Common Report Var(flag_instrument_function_entry_exit)
1481 Instrument function entry and exit with profiling calls.
1482
1483 finstrument-functions-exclude-function-list=
1484 Common RejectNegative Joined
1485 -finstrument-functions-exclude-function-list=name,... Do not instrument listed functions.
1486
1487 finstrument-functions-exclude-file-list=
1488 Common RejectNegative Joined
1489 -finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files.
1490
1491 fipa-cp
1492 Common Report Var(flag_ipa_cp) Optimization
1493 Perform interprocedural constant propagation.
1494
1495 fipa-cp-clone
1496 Common Report Var(flag_ipa_cp_clone) Optimization
1497 Perform cloning to make Interprocedural constant propagation stronger.
1498
1499 fipa-cp-alignment
1500 Common Report Var(flag_ipa_cp_alignment) Optimization
1501 Perform alignment discovery and propagation to make Interprocedural constant propagation stronger.
1502
1503 fipa-profile
1504 Common Report Var(flag_ipa_profile) Init(0) Optimization
1505 Perform interprocedural profile propagation.
1506
1507 fipa-pta
1508 Common Report Var(flag_ipa_pta) Init(0) Optimization
1509 Perform interprocedural points-to analysis.
1510
1511 fipa-pure-const
1512 Common Report Var(flag_ipa_pure_const) Init(0) Optimization
1513 Discover pure and const functions.
1514
1515 fipa-icf
1516 Common Report Var(flag_ipa_icf) Optimization
1517 Perform Identical Code Folding for functions and read-only variables.
1518
1519 fipa-icf-functions
1520 Common Report Var(flag_ipa_icf_functions) Optimization
1521 Perform Identical Code Folding for functions.
1522
1523 fipa-icf-variables
1524 Common Report Var(flag_ipa_icf_variables)
1525 Perform Identical Code Folding for variables.
1526
1527 fipa-reference
1528 Common Report Var(flag_ipa_reference) Init(0) Optimization
1529 Discover readonly and non addressable static variables.
1530
1531 fipa-matrix-reorg
1532 Common Ignore
1533 Does nothing. Preserved for backward compatibility.
1534
1535 fipa-struct-reorg
1536 Common Ignore
1537 Does nothing. Preserved for backward compatibility.
1538
1539 fira-algorithm=
1540 Common Joined RejectNegative Enum(ira_algorithm) Var(flag_ira_algorithm) Init(IRA_ALGORITHM_CB) Optimization
1541 -fira-algorithm=[CB|priority] Set the used IRA algorithm.
1542
1543 Enum
1544 Name(ira_algorithm) Type(enum ira_algorithm) UnknownError(unknown IRA algorithm %qs)
1545
1546 EnumValue
1547 Enum(ira_algorithm) String(CB) Value(IRA_ALGORITHM_CB)
1548
1549 EnumValue
1550 Enum(ira_algorithm) String(priority) Value(IRA_ALGORITHM_PRIORITY)
1551
1552 fira-region=
1553 Common Joined RejectNegative Enum(ira_region) Var(flag_ira_region) Init(IRA_REGION_AUTODETECT) Optimization
1554 -fira-region=[one|all|mixed] Set regions for IRA.
1555
1556 Enum
1557 Name(ira_region) Type(enum ira_region) UnknownError(unknown IRA region %qs)
1558
1559 EnumValue
1560 Enum(ira_region) String(one) Value(IRA_REGION_ONE)
1561
1562 EnumValue
1563 Enum(ira_region) String(all) Value(IRA_REGION_ALL)
1564
1565 EnumValue
1566 Enum(ira_region) String(mixed) Value(IRA_REGION_MIXED)
1567
1568 fira-hoist-pressure
1569 Common Report Var(flag_ira_hoist_pressure) Init(1) Optimization
1570 Use IRA based register pressure calculation
1571 in RTL hoist optimizations.
1572
1573 fira-loop-pressure
1574 Common Report Var(flag_ira_loop_pressure) Optimization
1575 Use IRA based register pressure calculation
1576 in RTL loop optimizations.
1577
1578 fira-share-save-slots
1579 Common Report Var(flag_ira_share_save_slots) Init(1) Optimization
1580 Share slots for saving different hard registers.
1581
1582 fira-share-spill-slots
1583 Common Report Var(flag_ira_share_spill_slots) Init(1) Optimization
1584 Share stack slots for spilled pseudo-registers.
1585
1586 fira-verbose=
1587 Common RejectNegative Joined UInteger Var(flag_ira_verbose) Init(5)
1588 -fira-verbose=<number> Control IRA's level of diagnostic messages.
1589
1590 fivopts
1591 Common Report Var(flag_ivopts) Init(1) Optimization
1592 Optimize induction variables on trees.
1593
1594 fjump-tables
1595 Common Var(flag_jump_tables) Init(1) Optimization
1596 Use jump tables for sufficiently large switch statements.
1597
1598 fkeep-inline-functions
1599 Common Report Var(flag_keep_inline_functions)
1600 Generate code for functions even if they are fully inlined.
1601
1602 fkeep-static-functions
1603 Common Report Var(flag_keep_static_functions)
1604 Generate code for static functions even if they are never called.
1605
1606 fkeep-static-consts
1607 Common Report Var(flag_keep_static_consts) Init(1)
1608 Emit static const variables even if they are not used.
1609
1610 fleading-underscore
1611 Common Report Var(flag_leading_underscore) Init(-1)
1612 Give external symbols a leading underscore.
1613
1614 floop-optimize
1615 Common Ignore
1616 Does nothing. Preserved for backward compatibility.
1617
1618 flra-remat
1619 Common Report Var(flag_lra_remat) Optimization
1620 Do CFG-sensitive rematerialization in LRA.
1621
1622 flto
1623 Common
1624 Enable link-time optimization.
1625
1626 flto=
1627 Common RejectNegative Joined Var(flag_lto)
1628 Link-time optimization with number of parallel jobs or jobserver.
1629
1630 Enum
1631 Name(lto_partition_model) Type(enum lto_partition_model) UnknownError(unknown LTO partitioning model %qs)
1632
1633 EnumValue
1634 Enum(lto_partition_model) String(none) Value(LTO_PARTITION_NONE)
1635
1636 EnumValue
1637 Enum(lto_partition_model) String(one) Value(LTO_PARTITION_ONE)
1638
1639 EnumValue
1640 Enum(lto_partition_model) String(balanced) Value(LTO_PARTITION_BALANCED)
1641
1642 EnumValue
1643 Enum(lto_partition_model) String(1to1) Value(LTO_PARTITION_1TO1)
1644
1645 EnumValue
1646 Enum(lto_partition_model) String(max) Value(LTO_PARTITION_MAX)
1647
1648 flto-partition=
1649 Common Joined RejectNegative Enum(lto_partition_model) Var(flag_lto_partition) Init(LTO_PARTITION_BALANCED)
1650 Specify the algorithm to partition symbols and vars at linktime.
1651
1652 ; The initial value of -1 comes from Z_DEFAULT_COMPRESSION in zlib.h.
1653 flto-compression-level=
1654 Common Joined RejectNegative UInteger Var(flag_lto_compression_level) Init(-1)
1655 -flto-compression-level=<number> Use zlib compression level <number> for IL.
1656
1657 flto-odr-type-merging
1658 Common Report Var(flag_lto_odr_type_mering) Init(1)
1659 Merge C++ types using One Definition Rule.
1660
1661 flto-report
1662 Common Report Var(flag_lto_report) Init(0)
1663 Report various link-time optimization statistics.
1664
1665 flto-report-wpa
1666 Common Report Var(flag_lto_report_wpa) Init(0)
1667 Report various link-time optimization statistics for WPA only.
1668
1669 fmath-errno
1670 Common Report Var(flag_errno_math) Init(1) Optimization SetByCombined
1671 Set errno after built-in math functions.
1672
1673 fmax-errors=
1674 Common Joined RejectNegative UInteger Var(flag_max_errors)
1675 -fmax-errors=<number> Maximum number of errors to report.
1676
1677 fmem-report
1678 Common Report Var(mem_report)
1679 Report on permanent memory allocation.
1680
1681 fmem-report-wpa
1682 Common Report Var(mem_report_wpa)
1683 Report on permanent memory allocation in WPA only.
1684
1685 ; This will attempt to merge constant section constants, if 1 only
1686 ; string constants and constants from constant pool, if 2 also constant
1687 ; variables.
1688 fmerge-all-constants
1689 Common Report Var(flag_merge_constants,2) Init(1)
1690 Attempt to merge identical constants and constant variables.
1691
1692 fmerge-constants
1693 Common Report Var(flag_merge_constants,1)
1694 Attempt to merge identical constants across compilation units.
1695
1696 fmerge-debug-strings
1697 Common Report Var(flag_merge_debug_strings) Init(1)
1698 Attempt to merge identical debug strings across compilation units.
1699
1700 fmessage-length=
1701 Common RejectNegative Joined UInteger
1702 -fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping.
1703
1704 fmodulo-sched
1705 Common Report Var(flag_modulo_sched) Optimization
1706 Perform SMS based modulo scheduling before the first scheduling pass.
1707
1708 fmodulo-sched-allow-regmoves
1709 Common Report Var(flag_modulo_sched_allow_regmoves) Optimization
1710 Perform SMS based modulo scheduling with register moves allowed.
1711
1712 fmove-loop-invariants
1713 Common Report Var(flag_move_loop_invariants) Optimization
1714 Move loop invariant computations out of loops.
1715
1716 fdce
1717 Common Var(flag_dce) Init(1) Optimization
1718 Use the RTL dead code elimination pass.
1719
1720 fdse
1721 Common Var(flag_dse) Init(1) Optimization
1722 Use the RTL dead store elimination pass.
1723
1724 freschedule-modulo-scheduled-loops
1725 Common Report Var(flag_resched_modulo_sched) Optimization
1726 Enable/Disable the traditional scheduling in loops that already passed modulo scheduling.
1727
1728 fnon-call-exceptions
1729 Common Report Var(flag_non_call_exceptions) Optimization
1730 Support synchronous non-call exceptions.
1731
1732 foffload=
1733 Common Driver Joined MissingArgError(options or targets missing after %qs)
1734 -foffload=<targets>=<options> Specify offloading targets and options for them.
1735
1736 foffload-abi=
1737 Common Joined RejectNegative Enum(offload_abi) Var(flag_offload_abi) Init(OFFLOAD_ABI_UNSET)
1738 -foffload-abi=[lp64|ilp32] Set the ABI to use in an offload compiler.
1739
1740 Enum
1741 Name(offload_abi) Type(enum offload_abi) UnknownError(unknown offload ABI %qs)
1742
1743 EnumValue
1744 Enum(offload_abi) String(ilp32) Value(OFFLOAD_ABI_ILP32)
1745
1746 EnumValue
1747 Enum(offload_abi) String(lp64) Value(OFFLOAD_ABI_LP64)
1748
1749 fomit-frame-pointer
1750 Common Report Var(flag_omit_frame_pointer) Optimization
1751 When possible do not generate stack frames.
1752
1753 fopt-info
1754 Common Report Var(flag_opt_info) Optimization
1755 Enable all optimization info dumps on stderr.
1756
1757 fopt-info-
1758 Common Joined RejectNegative Var(common_deferred_options) Defer
1759 -fopt-info[-<type>=filename] Dump compiler optimization details.
1760
1761 foptimize-register-move
1762 Common Ignore
1763 Does nothing. Preserved for backward compatibility.
1764
1765 foptimize-sibling-calls
1766 Common Report Var(flag_optimize_sibling_calls) Optimization
1767 Optimize sibling and tail recursive calls.
1768
1769 fpartial-inlining
1770 Common Report Var(flag_partial_inlining) Optimization
1771 Perform partial inlining.
1772
1773 fpre-ipa-mem-report
1774 Common Report Var(pre_ipa_mem_report)
1775 Report on memory allocation before interprocedural optimization.
1776
1777 fpost-ipa-mem-report
1778 Common Report Var(post_ipa_mem_report)
1779 Report on memory allocation before interprocedural optimization.
1780
1781 fpack-struct
1782 Common Report Var(flag_pack_struct) Optimization
1783 Pack structure members together without holes.
1784
1785 fpack-struct=
1786 Common RejectNegative Joined UInteger Optimization
1787 -fpack-struct=<number> Set initial maximum structure member alignment.
1788
1789 fpcc-struct-return
1790 Common Report Var(flag_pcc_struct_return,1) Init(DEFAULT_PCC_STRUCT_RETURN)
1791 Return small aggregates in memory, not registers.
1792
1793 fpeel-loops
1794 Common Report Var(flag_peel_loops) Optimization
1795 Perform loop peeling.
1796
1797 fpeephole
1798 Common Report Var(flag_no_peephole,0) Optimization
1799 Enable machine specific peephole optimizations.
1800
1801 fpeephole2
1802 Common Report Var(flag_peephole2) Optimization
1803 Enable an RTL peephole pass before sched2.
1804
1805 fPIC
1806 Common Report Var(flag_pic,2) Negative(fPIE)
1807 Generate position-independent code if possible (large mode).
1808
1809 fPIE
1810 Common Report Var(flag_pie,2) Negative(fpic) Init(-1)
1811 Generate position-independent code for executables if possible (large mode).
1812
1813 fpic
1814 Common Report Var(flag_pic,1) Negative(fpie)
1815 Generate position-independent code if possible (small mode).
1816
1817 fpie
1818 Common Report Var(flag_pie,1) Negative(fPIC) Init(-1)
1819 Generate position-independent code for executables if possible (small mode).
1820
1821 fplt
1822 Common Report Var(flag_plt) Init(1) Optimization
1823 Use PLT for PIC calls (-fno-plt: load the address from GOT at call site).
1824
1825 fplugin=
1826 Common Joined RejectNegative Var(common_deferred_options) Defer
1827 Specify a plugin to load.
1828
1829 fplugin-arg-
1830 Common Joined RejectNegative Var(common_deferred_options) Defer
1831 -fplugin-arg-<name>-<key>[=<value>] Specify argument <key>=<value> for plugin <name>.
1832
1833 fpredictive-commoning
1834 Common Report Var(flag_predictive_commoning) Optimization
1835 Run predictive commoning optimization.
1836
1837 fprefetch-loop-arrays
1838 Common Report Var(flag_prefetch_loop_arrays) Init(-1) Optimization
1839 Generate prefetch instructions, if available, for arrays in loops.
1840
1841 fprofile
1842 Common Report Var(profile_flag)
1843 Enable basic program profiling code.
1844
1845 fprofile-arcs
1846 Common Report Var(profile_arc_flag)
1847 Insert arc-based program profiling code.
1848
1849 fprofile-dir=
1850 Common Joined RejectNegative Var(profile_data_prefix)
1851 Set the top-level directory for storing the profile data.
1852 The default is 'pwd'.
1853
1854 fprofile-correction
1855 Common Report Var(flag_profile_correction)
1856 Enable correction of flow inconsistent profile data input.
1857
1858 fprofile-generate
1859 Common
1860 Enable common options for generating profile info for profile feedback directed optimizations.
1861
1862 fprofile-generate=
1863 Common Joined RejectNegative
1864 Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=.
1865
1866 fprofile-use
1867 Common Var(flag_profile_use)
1868 Enable common options for performing profile feedback directed optimizations.
1869
1870 fprofile-use=
1871 Common Joined RejectNegative
1872 Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir=.
1873
1874 fprofile-values
1875 Common Report Var(flag_profile_values)
1876 Insert code to profile values of expressions.
1877
1878 fprofile-report
1879 Common Report Var(profile_report)
1880 Report on consistency of profile.
1881
1882 fprofile-reorder-functions
1883 Common Report Var(flag_profile_reorder_functions)
1884 Enable function reordering that improves code placement.
1885
1886 frandom-seed
1887 Common Var(common_deferred_options) Defer
1888
1889 frandom-seed=
1890 Common Joined RejectNegative Var(common_deferred_options) Defer
1891 -frandom-seed=<number> Make compile reproducible using <number>.
1892
1893 ; This switch causes the command line that was used to create an
1894 ; object file to be recorded into the object file. The exact format
1895 ; of this recording is target and binary file format dependent.
1896 ; It is related to the -fverbose-asm switch, but that switch only
1897 ; records information in the assembler output file as comments, so
1898 ; they never reach the object file.
1899 frecord-gcc-switches
1900 Common Report Var(flag_record_gcc_switches)
1901 Record gcc command line switches in the object file.
1902
1903 freg-struct-return
1904 Common Report Var(flag_pcc_struct_return,0) Optimization
1905 Return small aggregates in registers.
1906
1907 fregmove
1908 Common Ignore
1909 Does nothing. Preserved for backward compatibility.
1910
1911 flifetime-dse
1912 Common Report Var(flag_lifetime_dse) Init(1) Optimization
1913 Tell DSE that the storage for a C++ object is dead when the constructor
1914 starts and when the destructor finishes.
1915
1916 flive-range-shrinkage
1917 Common Report Var(flag_live_range_shrinkage) Init(0) Optimization
1918 Relief of register pressure through live range shrinkage.
1919
1920 frename-registers
1921 Common Report Var(flag_rename_registers) Init(2) Optimization
1922 Perform a register renaming optimization pass.
1923
1924 fschedule-fusion
1925 Common Report Var(flag_schedule_fusion) Init(2) Optimization
1926 Perform a target dependent instruction fusion optimization pass.
1927
1928 freorder-blocks
1929 Common Report Var(flag_reorder_blocks) Optimization
1930 Reorder basic blocks to improve code placement.
1931
1932 freorder-blocks-algorithm=
1933 Common Joined RejectNegative Enum(reorder_blocks_algorithm) Var(flag_reorder_blocks_algorithm) Init(REORDER_BLOCKS_ALGORITHM_SIMPLE) Optimization
1934 -freorder-blocks-algorithm=[simple|stc] Set the used basic block reordering algorithm.
1935
1936 Enum
1937 Name(reorder_blocks_algorithm) Type(enum reorder_blocks_algorithm) UnknownError(unknown basic block reordering algorithm %qs)
1938
1939 EnumValue
1940 Enum(reorder_blocks_algorithm) String(simple) Value(REORDER_BLOCKS_ALGORITHM_SIMPLE)
1941
1942 EnumValue
1943 Enum(reorder_blocks_algorithm) String(stc) Value(REORDER_BLOCKS_ALGORITHM_STC)
1944
1945 freorder-blocks-and-partition
1946 Common Report Var(flag_reorder_blocks_and_partition) Optimization
1947 Reorder basic blocks and partition into hot and cold sections.
1948
1949 freorder-functions
1950 Common Report Var(flag_reorder_functions) Optimization
1951 Reorder functions to improve code placement.
1952
1953 frerun-cse-after-loop
1954 Common Report Var(flag_rerun_cse_after_loop) Optimization
1955 Add a common subexpression elimination pass after loop optimizations.
1956
1957 frerun-loop-opt
1958 Common Ignore
1959 Does nothing. Preserved for backward compatibility.
1960
1961 frounding-math
1962 Common Report Var(flag_rounding_math) Optimization SetByCombined
1963 Disable optimizations that assume default FP rounding behavior.
1964
1965 fsched-interblock
1966 Common Report Var(flag_schedule_interblock) Init(1) Optimization
1967 Enable scheduling across basic blocks.
1968
1969 fsched-pressure
1970 Common Report Var(flag_sched_pressure) Init(0) Optimization
1971 Enable register pressure sensitive insn scheduling.
1972
1973 fsched-spec
1974 Common Report Var(flag_schedule_speculative) Init(1) Optimization
1975 Allow speculative motion of non-loads.
1976
1977 fsched-spec-load
1978 Common Report Var(flag_schedule_speculative_load) Optimization
1979 Allow speculative motion of some loads.
1980
1981 fsched-spec-load-dangerous
1982 Common Report Var(flag_schedule_speculative_load_dangerous) Optimization
1983 Allow speculative motion of more loads.
1984
1985 fsched-verbose=
1986 Common RejectNegative Joined UInteger Var(sched_verbose_param) Init(1)
1987 -fsched-verbose=<number> Set the verbosity level of the scheduler.
1988
1989 fsched2-use-superblocks
1990 Common Report Var(flag_sched2_use_superblocks) Optimization
1991 If scheduling post reload, do superblock scheduling.
1992
1993 fsched2-use-traces
1994 Common Ignore
1995 Does nothing. Preserved for backward compatibility.
1996
1997 fschedule-insns
1998 Common Report Var(flag_schedule_insns) Optimization
1999 Reschedule instructions before register allocation.
2000
2001 fschedule-insns2
2002 Common Report Var(flag_schedule_insns_after_reload) Optimization
2003 Reschedule instructions after register allocation.
2004
2005 ; This flag should be on when a target implements non-trivial
2006 ; scheduling hooks, maybe saving some information for its own sake.
2007 ; On IA64, for example, this is used for correct bundling.
2008 fselective-scheduling
2009 Common Report Var(flag_selective_scheduling) Optimization
2010 Schedule instructions using selective scheduling algorithm.
2011
2012 fselective-scheduling2
2013 Common Report Var(flag_selective_scheduling2) Optimization
2014 Run selective scheduling after reload.
2015
2016 fsel-sched-pipelining
2017 Common Report Var(flag_sel_sched_pipelining) Init(0) Optimization
2018 Perform software pipelining of inner loops during selective scheduling.
2019
2020 fsel-sched-pipelining-outer-loops
2021 Common Report Var(flag_sel_sched_pipelining_outer_loops) Init(0) Optimization
2022 Perform software pipelining of outer loops during selective scheduling.
2023
2024 fsel-sched-reschedule-pipelined
2025 Common Report Var(flag_sel_sched_reschedule_pipelined) Init(0) Optimization
2026 Reschedule pipelined regions without pipelining.
2027
2028 fsemantic-interposition
2029 Common Report Var(flag_semantic_interposition) Init(1)
2030 Allow interposing function (or variables) by ones with different semantics (or initializer) respectively by dynamic linker.
2031
2032 ; sched_stalled_insns means that insns can be moved prematurely from the queue
2033 ; of stalled insns into the ready list.
2034 fsched-stalled-insns
2035 Common Report Var(flag_sched_stalled_insns) Optimization UInteger
2036 Allow premature scheduling of queued insns.
2037
2038 fsched-stalled-insns=
2039 Common RejectNegative Joined UInteger Optimization
2040 -fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled.
2041
2042 ; sched_stalled_insns_dep controls how many recently scheduled cycles will
2043 ; be examined for a dependency on a stalled insn that is candidate for
2044 ; premature removal from the queue of stalled insns into the ready list (has
2045 ; an effect only if the flag 'sched_stalled_insns' is set).
2046 fsched-stalled-insns-dep
2047 Common Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization UInteger
2048 Set dependence distance checking in premature scheduling of queued insns.
2049
2050 fsched-stalled-insns-dep=
2051 Common RejectNegative Joined UInteger Optimization
2052 -fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns.
2053
2054 fsched-group-heuristic
2055 Common Report Var(flag_sched_group_heuristic) Init(1) Optimization
2056 Enable the group heuristic in the scheduler.
2057
2058 fsched-critical-path-heuristic
2059 Common Report Var(flag_sched_critical_path_heuristic) Init(1) Optimization
2060 Enable the critical path heuristic in the scheduler.
2061
2062 fsched-spec-insn-heuristic
2063 Common Report Var(flag_sched_spec_insn_heuristic) Init(1) Optimization
2064 Enable the speculative instruction heuristic in the scheduler.
2065
2066 fsched-rank-heuristic
2067 Common Report Var(flag_sched_rank_heuristic) Init(1) Optimization
2068 Enable the rank heuristic in the scheduler.
2069
2070 fsched-last-insn-heuristic
2071 Common Report Var(flag_sched_last_insn_heuristic) Init(1) Optimization
2072 Enable the last instruction heuristic in the scheduler.
2073
2074 fsched-dep-count-heuristic
2075 Common Report Var(flag_sched_dep_count_heuristic) Init(1) Optimization
2076 Enable the dependent count heuristic in the scheduler.
2077
2078 fsection-anchors
2079 Common Report Var(flag_section_anchors) Optimization
2080 Access data in the same section from shared anchor points.
2081
2082 fsee
2083 Common Ignore
2084 Does nothing. Preserved for backward compatibility.
2085
2086 fzee
2087 Common Ignore
2088 Does nothing. Preserved for backward compatibility.
2089
2090 free
2091 Common Report Var(flag_ree) Init(0)
2092 Turn on Redundant Extensions Elimination pass.
2093
2094 fshow-column
2095 Common Report Var(flag_show_column) Init(1)
2096 Show column numbers in diagnostics, when available. Default on.
2097
2098 fshrink-wrap
2099 Common Report Var(flag_shrink_wrap) Optimization
2100 Emit function prologues only before parts of the function that need it,
2101 rather than at the top of the function.
2102
2103 fsignaling-nans
2104 Common Report Var(flag_signaling_nans) Optimization SetByCombined
2105 Disable optimizations observable by IEEE signaling NaNs.
2106
2107 fsigned-zeros
2108 Common Report Var(flag_signed_zeros) Init(1) Optimization SetByCombined
2109 Disable floating point optimizations that ignore the IEEE signedness of zero.
2110
2111 fsingle-precision-constant
2112 Common Report Var(flag_single_precision_constant) Optimization
2113 Convert floating point constants to single precision constants.
2114
2115 fsplit-ivs-in-unroller
2116 Common Report Var(flag_split_ivs_in_unroller) Init(1) Optimization
2117 Split lifetimes of induction variables when loops are unrolled.
2118
2119 fsplit-stack
2120 Common Report Var(flag_split_stack) Init(-1)
2121 Generate discontiguous stack frames.
2122
2123 fsplit-wide-types
2124 Common Report Var(flag_split_wide_types) Optimization
2125 Split wide types into independent registers.
2126
2127 fssa-backprop
2128 Common Report Var(flag_ssa_backprop) Init(1) Optimization
2129 Enable backward propagation of use properties at the SSA level.
2130
2131 fssa-phiopt
2132 Common Report Var(flag_ssa_phiopt) Optimization
2133 Optimize conditional patterns using SSA PHI nodes.
2134
2135 fstdarg-opt
2136 Common Report Var(flag_stdarg_opt) Init(1) Optimization
2137 Optimize amount of stdarg registers saved to stack at start of function.
2138
2139 fvariable-expansion-in-unroller
2140 Common Report Var(flag_variable_expansion_in_unroller) Optimization
2141 Apply variable expansion when loops are unrolled.
2142
2143 fstack-check=
2144 Common Report RejectNegative Joined
2145 -fstack-check=[no|generic|specific] Insert stack checking code into the program.
2146
2147 fstack-check
2148 Common Alias(fstack-check=, specific, no)
2149 Insert stack checking code into the program. Same as -fstack-check=specific.
2150
2151 fstack-limit
2152 Common Var(common_deferred_options) Defer
2153
2154 fstack-limit-register=
2155 Common RejectNegative Joined Var(common_deferred_options) Defer
2156 -fstack-limit-register=<register> Trap if the stack goes past <register>.
2157
2158 fstack-limit-symbol=
2159 Common RejectNegative Joined Var(common_deferred_options) Defer
2160 -fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>.
2161
2162 fstack-protector
2163 Common Report Var(flag_stack_protect, 1) Init(-1)
2164 Use propolice as a stack protection method.
2165
2166 fstack-protector-all
2167 Common Report RejectNegative Var(flag_stack_protect, 2) Init(-1)
2168 Use a stack protection method for every function.
2169
2170 fstack-protector-strong
2171 Common Report RejectNegative Var(flag_stack_protect, 3) Init(-1)
2172 Use a smart stack protection method for certain functions.
2173
2174 fstack-protector-explicit
2175 Common Report RejectNegative Var(flag_stack_protect, 4)
2176 Use stack protection method only for functions with the stack_protect attribute.
2177
2178 fstack-usage
2179 Common RejectNegative Var(flag_stack_usage)
2180 Output stack usage information on a per-function basis.
2181
2182 fstrength-reduce
2183 Common Ignore
2184 Does nothing. Preserved for backward compatibility.
2185
2186 ; Nonzero if we should do (language-dependent) alias analysis.
2187 ; Typically, this analysis will assume that expressions of certain
2188 ; types do not alias expressions of certain other types. Only used
2189 ; if alias analysis (in general) is enabled.
2190 fstrict-aliasing
2191 Common Report Var(flag_strict_aliasing) Optimization
2192 Assume strict aliasing rules apply.
2193
2194 fstrict-overflow
2195 Common Report Var(flag_strict_overflow) Optimization
2196 Treat signed overflow as undefined.
2197
2198 fsync-libcalls
2199 Common Report Var(flag_sync_libcalls) Init(1)
2200 Implement __atomic operations via libcalls to legacy __sync functions.
2201
2202 fsyntax-only
2203 Common Report Var(flag_syntax_only)
2204 Check for syntax errors, then stop.
2205
2206 ftest-coverage
2207 Common Report Var(flag_test_coverage)
2208 Create data files needed by \"gcov\".
2209
2210 fthread-jumps
2211 Common Report Var(flag_thread_jumps) Optimization
2212 Perform jump threading optimizations.
2213
2214 ftime-report
2215 Common Report Var(time_report)
2216 Report the time taken by each compiler pass.
2217
2218 ftls-model=
2219 Common Joined RejectNegative Enum(tls_model) Var(flag_tls_default) Init(TLS_MODEL_GLOBAL_DYNAMIC)
2220 -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model.
2221
2222 Enum
2223 Name(tls_model) Type(enum tls_model) UnknownError(unknown TLS model %qs)
2224
2225 EnumValue
2226 Enum(tls_model) String(global-dynamic) Value(TLS_MODEL_GLOBAL_DYNAMIC)
2227
2228 EnumValue
2229 Enum(tls_model) String(local-dynamic) Value(TLS_MODEL_LOCAL_DYNAMIC)
2230
2231 EnumValue
2232 Enum(tls_model) String(initial-exec) Value(TLS_MODEL_INITIAL_EXEC)
2233
2234 EnumValue
2235 Enum(tls_model) String(local-exec) Value(TLS_MODEL_LOCAL_EXEC)
2236
2237 ftoplevel-reorder
2238 Common Report Var(flag_toplevel_reorder) Init(2)
2239 Reorder top level functions, variables, and asms.
2240
2241 ftracer
2242 Common Report Var(flag_tracer) Optimization
2243 Perform superblock formation via tail duplication.
2244
2245 ; Zero means that floating-point math operations cannot generate a
2246 ; (user-visible) trap. This is the case, for example, in nonstop
2247 ; IEEE 754 arithmetic.
2248 ftrapping-math
2249 Common Report Var(flag_trapping_math) Init(1) Optimization SetByCombined
2250 Assume floating-point operations can trap.
2251
2252 ftrapv
2253 Common Report Var(flag_trapv) Optimization
2254 Trap for signed overflow in addition, subtraction and multiplication.
2255
2256 ftree-ccp
2257 Common Report Var(flag_tree_ccp) Optimization
2258 Enable SSA-CCP optimization on trees.
2259
2260 ftree-bit-ccp
2261 Common Report Var(flag_tree_bit_ccp) Optimization
2262 Enable SSA-BIT-CCP optimization on trees.
2263
2264 ftree-store-ccp
2265 Common Ignore
2266 Does nothing. Preserved for backward compatibility.
2267
2268 ftree-ch
2269 Common Report Var(flag_tree_ch) Optimization
2270 Enable loop header copying on trees.
2271
2272 ftree-coalesce-inlined-vars
2273 Common Ignore RejectNegative
2274 Does nothing. Preserved for backward compatibility.
2275
2276 ftree-coalesce-vars
2277 Common Report Var(flag_tree_coalesce_vars) Optimization
2278 Enable SSA coalescing of user variables.
2279
2280 ftree-copyrename
2281 Common Ignore
2282 Does nothing. Preserved for backward compatibility.
2283
2284 ftree-copy-prop
2285 Common Report Var(flag_tree_copy_prop) Optimization
2286 Enable copy propagation on trees.
2287
2288 ftree-store-copy-prop
2289 Common Ignore
2290 Does nothing. Preserved for backward compatibility.
2291
2292 ftree-cselim
2293 Common Report Var(flag_tree_cselim) Init(2) Optimization
2294 Transform condition stores into unconditional ones.
2295
2296 ftree-switch-conversion
2297 Common Report Var(flag_tree_switch_conversion) Optimization
2298 Perform conversions of switch initializations.
2299
2300 ftree-dce
2301 Common Report Var(flag_tree_dce) Optimization
2302 Enable SSA dead code elimination optimization on trees.
2303
2304 ftree-dominator-opts
2305 Common Report Var(flag_tree_dom) Optimization
2306 Enable dominator optimizations.
2307
2308 ftree-tail-merge
2309 Common Report Var(flag_tree_tail_merge) Optimization
2310 Enable tail merging on trees.
2311
2312 ftree-dse
2313 Common Report Var(flag_tree_dse) Optimization
2314 Enable dead store elimination.
2315
2316 ftree-forwprop
2317 Common Report Var(flag_tree_forwprop) Init(1) Optimization
2318 Enable forward propagation on trees.
2319
2320 ftree-fre
2321 Common Report Var(flag_tree_fre) Optimization
2322 Enable Full Redundancy Elimination (FRE) on trees.
2323
2324 foptimize-strlen
2325 Common Report Var(flag_optimize_strlen) Optimization
2326 Enable string length optimizations on trees.
2327
2328 fisolate-erroneous-paths-dereference
2329 Common Report Var(flag_isolate_erroneous_paths_dereference) Optimization
2330 Detect paths that trigger erroneous or undefined behavior due to
2331 dereferencing a null pointer. Isolate those paths from the main control
2332 flow and turn the statement with erroneous or undefined behavior into a trap.
2333
2334 fisolate-erroneous-paths-attribute
2335 Common Report Var(flag_isolate_erroneous_paths_attribute) Optimization
2336 Detect paths that trigger erroneous or undefined behavior due a null value
2337 being used in a way forbidden by a returns_nonnull or nonnull
2338 attribute. Isolate those paths from the main control flow and turn the
2339 statement with erroneous or undefined behavior into a trap.
2340
2341 ftree-loop-distribution
2342 Common Report Var(flag_tree_loop_distribution) Optimization
2343 Enable loop distribution on trees.
2344
2345 ftree-loop-distribute-patterns
2346 Common Report Var(flag_tree_loop_distribute_patterns) Optimization
2347 Enable loop distribution for patterns transformed into a library call.
2348
2349 ftree-loop-im
2350 Common Report Var(flag_tree_loop_im) Init(1) Optimization
2351 Enable loop invariant motion on trees.
2352
2353 ftree-loop-linear
2354 Common Alias(floop-nest-optimize)
2355 Enable loop nest transforms. Same as -floop-nest-optimize.
2356
2357 ftree-loop-ivcanon
2358 Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization
2359 Create canonical induction variables in loops.
2360
2361 ftree-loop-optimize
2362 Common Report Var(flag_tree_loop_optimize) Init(1) Optimization
2363 Enable loop optimizations on tree level.
2364
2365 ftree-parallelize-loops=
2366 Common Report Joined RejectNegative UInteger Var(flag_tree_parallelize_loops) Init(1) Optimization
2367 Enable automatic parallelization of loops.
2368
2369 ftree-phiprop
2370 Common Report Var(flag_tree_phiprop) Init(1) Optimization
2371 Enable hoisting loads from conditional pointers.
2372
2373 ftree-pre
2374 Common Report Var(flag_tree_pre) Optimization
2375 Enable SSA-PRE optimization on trees.
2376
2377 ftree-partial-pre
2378 Common Report Var(flag_tree_partial_pre) Optimization
2379 In SSA-PRE optimization on trees, enable partial-partial redundancy elimination.
2380
2381 ftree-pta
2382 Common Report Var(flag_tree_pta) Optimization
2383 Perform function-local points-to analysis on trees.
2384
2385 ftree-reassoc
2386 Common Report Var(flag_tree_reassoc) Init(1) Optimization
2387 Enable reassociation on tree level.
2388
2389 ftree-salias
2390 Common Ignore
2391 Does nothing. Preserved for backward compatibility.
2392
2393 ftree-sink
2394 Common Report Var(flag_tree_sink) Optimization
2395 Enable SSA code sinking on trees.
2396
2397 ftree-slsr
2398 Common Report Var(flag_tree_slsr) Optimization
2399 Perform straight-line strength reduction.
2400
2401 ftree-sra
2402 Common Report Var(flag_tree_sra) Optimization
2403 Perform scalar replacement of aggregates.
2404
2405 ftree-ter
2406 Common Report Var(flag_tree_ter) Optimization
2407 Replace temporary expressions in the SSA->normal pass.
2408
2409 ftree-lrs
2410 Common Report Var(flag_tree_live_range_split) Optimization
2411 Perform live range splitting during the SSA->normal pass.
2412
2413 ftree-vrp
2414 Common Report Var(flag_tree_vrp) Init(0) Optimization
2415 Perform Value Range Propagation on trees.
2416
2417 fsplit-paths
2418 Common Report Var(flag_split_paths) Init(0) Optimization
2419 Split paths leading to loop backedges.
2420
2421 funit-at-a-time
2422 Common Report Var(flag_unit_at_a_time) Init(1)
2423 Compile whole compilation unit at a time.
2424
2425 funroll-loops
2426 Common Report Var(flag_unroll_loops) Optimization
2427 Perform loop unrolling when iteration count is known.
2428
2429 funroll-all-loops
2430 Common Report Var(flag_unroll_all_loops) Optimization
2431 Perform loop unrolling for all loops.
2432
2433 ; Nonzero means that loop optimizer may assume that the induction variables
2434 ; that control loops do not overflow and that the loops with nontrivial
2435 ; exit condition are not infinite
2436 funsafe-loop-optimizations
2437 Common Report Var(flag_unsafe_loop_optimizations) Optimization
2438 Allow loop optimizations to assume that the loops behave in normal way.
2439
2440 fassociative-math
2441 Common Report Var(flag_associative_math) SetByCombined Optimization
2442 Allow optimization for floating-point arithmetic which may change the
2443 result of the operation due to rounding.
2444
2445 freciprocal-math
2446 Common Report Var(flag_reciprocal_math) SetByCombined Optimization
2447 Same as -fassociative-math for expressions which include division.
2448
2449 ; Nonzero means that unsafe floating-point math optimizations are allowed
2450 ; for the sake of speed. IEEE compliance is not guaranteed, and operations
2451 ; are allowed to assume that their arguments and results are "normal"
2452 ; (e.g., nonnegative for SQRT).
2453 funsafe-math-optimizations
2454 Common Report Var(flag_unsafe_math_optimizations) Optimization SetByCombined
2455 Allow math optimizations that may violate IEEE or ISO standards.
2456
2457 funswitch-loops
2458 Common Report Var(flag_unswitch_loops) Optimization
2459 Perform loop unswitching.
2460
2461 funwind-tables
2462 Common Report Var(flag_unwind_tables) Optimization
2463 Just generate unwind tables for exception handling.
2464
2465 fuse-ld=bfd
2466 Common Driver Negative(fuse-ld=gold)
2467 Use the bfd linker instead of the default linker.
2468
2469 fuse-ld=gold
2470 Common Driver Negative(fuse-ld=bfd)
2471 Use the gold linker instead of the default linker.
2472
2473 fuse-linker-plugin
2474 Common Undocumented Var(flag_use_linker_plugin)
2475
2476 ; Positive if we should track variables, negative if we should run
2477 ; the var-tracking pass only to discard debug annotations, zero if
2478 ; we're not to run it. When flag_var_tracking == 2 (AUTODETECT_VALUE) it
2479 ; will be set according to optimize, debug_info_level and debug_hooks
2480 ; in process_options ().
2481 fvar-tracking
2482 Common Report Var(flag_var_tracking) Init(2) Optimization
2483 Perform variable tracking.
2484
2485 ; Positive if we should track variables at assignments, negative if
2486 ; we should run the var-tracking pass only to discard debug
2487 ; annotations. When flag_var_tracking_assignments ==
2488 ; AUTODETECT_VALUE it will be set according to flag_var_tracking.
2489 fvar-tracking-assignments
2490 Common Report Var(flag_var_tracking_assignments) Init(2) Optimization
2491 Perform variable tracking by annotating assignments.
2492
2493 ; Nonzero if we should toggle flag_var_tracking_assignments after
2494 ; processing options and computing its default. */
2495 fvar-tracking-assignments-toggle
2496 Common Report Var(flag_var_tracking_assignments_toggle) Optimization
2497 Toggle -fvar-tracking-assignments.
2498
2499 ; Positive if we should track uninitialized variables, negative if
2500 ; we should run the var-tracking pass only to discard debug
2501 ; annotations. When flag_var_tracking_uninit == AUTODETECT_VALUE it
2502 ; will be set according to flag_var_tracking.
2503 fvar-tracking-uninit
2504 Common Report Var(flag_var_tracking_uninit) Optimization
2505 Perform variable tracking and also tag variables that are uninitialized.
2506
2507 ftree-vectorize
2508 Common Report Var(flag_tree_vectorize) Optimization
2509 Enable vectorization on trees.
2510
2511 ftree-vectorizer-verbose=
2512 Common Joined RejectNegative Ignore
2513 Does nothing. Preserved for backward compatibility.
2514
2515 ftree-loop-vectorize
2516 Common Report Var(flag_tree_loop_vectorize) Optimization
2517 Enable loop vectorization on trees.
2518
2519 ftree-slp-vectorize
2520 Common Report Var(flag_tree_slp_vectorize) Optimization
2521 Enable basic block vectorization (SLP) on trees.
2522
2523 fvect-cost-model=
2524 Common Joined RejectNegative Enum(vect_cost_model) Var(flag_vect_cost_model) Init(VECT_COST_MODEL_DEFAULT) Optimization
2525 Specifies the cost model for vectorization.
2526
2527 fsimd-cost-model=
2528 Common Joined RejectNegative Enum(vect_cost_model) Var(flag_simd_cost_model) Init(VECT_COST_MODEL_UNLIMITED) Optimization
2529 Specifies the vectorization cost model for code marked with a simd directive.
2530
2531 Enum
2532 Name(vect_cost_model) Type(enum vect_cost_model) UnknownError(unknown vectorizer cost model %qs)
2533
2534 EnumValue
2535 Enum(vect_cost_model) String(unlimited) Value(VECT_COST_MODEL_UNLIMITED)
2536
2537 EnumValue
2538 Enum(vect_cost_model) String(dynamic) Value(VECT_COST_MODEL_DYNAMIC)
2539
2540 EnumValue
2541 Enum(vect_cost_model) String(cheap) Value(VECT_COST_MODEL_CHEAP)
2542
2543 fvect-cost-model
2544 Common RejectNegative Alias(fvect-cost-model=,dynamic)
2545 Enables the dynamic vectorizer cost model. Preserved for backward compatibility.
2546
2547 fno-vect-cost-model
2548 Common RejectNegative Alias(fvect-cost-model=,unlimited)
2549 Enables the unlimited vectorizer cost model. Preserved for backward compatibility.
2550
2551 ftree-vect-loop-version
2552 Common Ignore
2553 Does nothing. Preserved for backward compatibility.
2554
2555 ftree-scev-cprop
2556 Common Report Var(flag_tree_scev_cprop) Init(1) Optimization
2557 Enable copy propagation of scalar-evolution information.
2558
2559 ; -fverbose-asm causes extra commentary information to be produced in
2560 ; the generated assembly code (to make it more readable). This option
2561 ; is generally only of use to those who actually need to read the
2562 ; generated assembly code (perhaps while debugging the compiler itself).
2563 ; -fno-verbose-asm, the default, causes the extra information
2564 ; to not be added and is useful when comparing two assembler files.
2565 fverbose-asm
2566 Common Report Var(flag_verbose_asm)
2567 Add extra commentary to assembler output.
2568
2569 fvisibility=
2570 Common Joined RejectNegative Enum(symbol_visibility) Var(default_visibility) Init(VISIBILITY_DEFAULT)
2571 -fvisibility=[default|internal|hidden|protected] Set the default symbol visibility.
2572
2573 Enum
2574 Name(symbol_visibility) Type(enum symbol_visibility) UnknownError(unrecognized visibility value %qs)
2575
2576 EnumValue
2577 Enum(symbol_visibility) String(default) Value(VISIBILITY_DEFAULT)
2578
2579 EnumValue
2580 Enum(symbol_visibility) String(internal) Value(VISIBILITY_INTERNAL)
2581
2582 EnumValue
2583 Enum(symbol_visibility) String(hidden) Value(VISIBILITY_HIDDEN)
2584
2585 EnumValue
2586 Enum(symbol_visibility) String(protected) Value(VISIBILITY_PROTECTED)
2587
2588 fvtable-verify=
2589 Common Joined RejectNegative Enum(vtv_priority) Var(flag_vtable_verify) Init(VTV_NO_PRIORITY)
2590 Validate vtable pointers before using them.
2591
2592 Enum
2593 Name(vtv_priority) Type(enum vtv_priority) UnknownError(unknown vtable verify initialization priority %qs)
2594
2595 EnumValue
2596 Enum(vtv_priority) String(none) Value(VTV_NO_PRIORITY)
2597
2598 EnumValue
2599 Enum(vtv_priority) String(std) Value(VTV_STANDARD_PRIORITY)
2600
2601 EnumValue
2602 Enum(vtv_priority) String(preinit) Value(VTV_PREINIT_PRIORITY)
2603
2604 fvtv-counts
2605 Common Var(flag_vtv_counts)
2606 Output vtable verification counters.
2607
2608 fvtv-debug
2609 Common Var(flag_vtv_debug)
2610 Output vtable verification pointer sets information.
2611
2612 fvpt
2613 Common Report Var(flag_value_profile_transformations) Optimization
2614 Use expression value profiles in optimizations.
2615
2616 fweb
2617 Common Report Var(flag_web) Init(2) Optimization
2618 Construct webs and split unrelated uses of single variable.
2619
2620 ftree-builtin-call-dce
2621 Common Report Var(flag_tree_builtin_call_dce) Init(0) Optimization
2622 Enable conditional dead code elimination for builtin calls.
2623
2624 fwhole-program
2625 Common Report Var(flag_whole_program) Init(0)
2626 Perform whole program optimizations.
2627
2628 fwrapv
2629 Common Report Var(flag_wrapv) Optimization
2630 Assume signed arithmetic overflow wraps around.
2631
2632 fzero-initialized-in-bss
2633 Common Report Var(flag_zero_initialized_in_bss) Init(1)
2634 Put zero initialized data in the bss section.
2635
2636 g
2637 Common JoinedOrMissing
2638 Generate debug information in default format.
2639
2640 gcoff
2641 Common JoinedOrMissing Negative(gdwarf)
2642 Generate debug information in COFF format.
2643
2644 gdwarf
2645 Common JoinedOrMissing Negative(gdwarf-)
2646 Generate debug information in default version of DWARF format.
2647
2648 gdwarf-
2649 Common Joined UInteger Var(dwarf_version) Init(4) Negative(gstabs)
2650 Generate debug information in DWARF v2 (or later) format.
2651
2652 ggdb
2653 Common JoinedOrMissing
2654 Generate debug information in default extended format.
2655
2656 gno-pubnames
2657 Common Negative(gpubnames) Var(debug_generate_pub_sections, 0) Init(-1)
2658 Don't generate DWARF pubnames and pubtypes sections.
2659
2660 gpubnames
2661 Common Negative(ggnu-pubnames) Var(debug_generate_pub_sections, 1)
2662 Generate DWARF pubnames and pubtypes sections.
2663
2664 ggnu-pubnames
2665 Common Negative(gno-pubnames) Var(debug_generate_pub_sections, 2)
2666 Generate DWARF pubnames and pubtypes sections with GNU extensions.
2667
2668 gno-record-gcc-switches
2669 Common RejectNegative Var(dwarf_record_gcc_switches,0) Init(1)
2670 Don't record gcc command line switches in DWARF DW_AT_producer.
2671
2672 grecord-gcc-switches
2673 Common RejectNegative Var(dwarf_record_gcc_switches,1)
2674 Record gcc command line switches in DWARF DW_AT_producer.
2675
2676 gno-split-dwarf
2677 Common Driver RejectNegative Var(dwarf_split_debug_info,0) Init(0)
2678 Don't generate debug information in separate .dwo files.
2679
2680 gsplit-dwarf
2681 Common Driver RejectNegative Var(dwarf_split_debug_info,1)
2682 Generate debug information in separate .dwo files.
2683
2684 gstabs
2685 Common JoinedOrMissing Negative(gstabs+)
2686 Generate debug information in STABS format.
2687
2688 gstabs+
2689 Common JoinedOrMissing Negative(gvms)
2690 Generate debug information in extended STABS format.
2691
2692 gno-strict-dwarf
2693 Common RejectNegative Var(dwarf_strict,0) Init(0)
2694 Emit DWARF additions beyond selected version.
2695
2696 gstrict-dwarf
2697 Common Report RejectNegative Var(dwarf_strict,1)
2698 Don't emit DWARF additions beyond selected version.
2699
2700 gtoggle
2701 Common Report Var(flag_gtoggle)
2702 Toggle debug information generation.
2703
2704 gvms
2705 Common JoinedOrMissing Negative(gxcoff)
2706 Generate debug information in VMS format.
2707
2708 gxcoff
2709 Common JoinedOrMissing Negative(gxcoff+)
2710 Generate debug information in XCOFF format.
2711
2712 gxcoff+
2713 Common JoinedOrMissing Negative(gcoff)
2714 Generate debug information in extended XCOFF format.
2715
2716 Enum
2717 Name(compressed_debug_sections) Type(int)
2718
2719 ; Since -gz= is completely handled in specs, the values aren't used and we
2720 ; assign arbitrary constants.
2721 EnumValue
2722 Enum(compressed_debug_sections) String(none) Value(0)
2723
2724 EnumValue
2725 Enum(compressed_debug_sections) String(zlib) Value(1)
2726
2727 EnumValue
2728 Enum(compressed_debug_sections) String(zlib-gnu) Value(2)
2729
2730 gz
2731 Common Driver
2732 Generate compressed debug sections.
2733
2734 gz=
2735 Common Driver Joined Enum(compressed_debug_sections)
2736 -gz=<format> Generate compressed debug sections in format <format>.
2737
2738 h
2739 Driver Joined Separate
2740
2741 iplugindir=
2742 Common Joined Var(plugindir_string) Init(0)
2743 -iplugindir=<dir> Set <dir> to be the default plugin directory.
2744
2745 imultiarch
2746 Common Joined Separate RejectDriver Var(imultiarch) Init(0)
2747 -imultiarch <dir> Set <dir> to be the multiarch include subdirectory.
2748
2749 l
2750 Driver Joined Separate
2751
2752 n
2753 Driver
2754
2755 no-canonical-prefixes
2756 Driver
2757
2758 nodefaultlibs
2759 Driver
2760
2761 nostartfiles
2762 Driver
2763
2764 nostdlib
2765 Driver
2766
2767 o
2768 Common Driver Joined Separate Var(asm_file_name) MissingArgError(missing filename after %qs)
2769 -o <file> Place output into <file>.
2770
2771 p
2772 Common Var(profile_flag)
2773 Enable function profiling.
2774
2775 pass-exit-codes
2776 Driver Var(pass_exit_codes)
2777
2778 pedantic
2779 Common Alias(Wpedantic)
2780
2781 pedantic-errors
2782 Common Var(flag_pedantic_errors)
2783 Like -pedantic but issue them as errors.
2784
2785 pg
2786 Driver
2787
2788 pipe
2789 Driver Var(use_pipes)
2790
2791 print-file-name=
2792 Driver JoinedOrMissing Var(print_file_name)
2793
2794 print-libgcc-file-name
2795 Driver
2796
2797 print-multi-directory
2798 Driver Var(print_multi_directory)
2799
2800 print-multi-lib
2801 Driver Var(print_multi_lib)
2802
2803 print-multi-os-directory
2804 Driver Var(print_multi_os_directory)
2805
2806 print-multiarch
2807 Driver Var(print_multiarch)
2808
2809 print-prog-name=
2810 Driver JoinedOrMissing Var(print_prog_name)
2811
2812 print-search-dirs
2813 Driver Var(print_search_dirs)
2814
2815 print-sysroot
2816 Driver Var(print_sysroot)
2817
2818 print-sysroot-headers-suffix
2819 Driver Var(print_sysroot_headers_suffix)
2820
2821 quiet
2822 Common Var(quiet_flag) RejectDriver
2823 Do not display functions compiled or elapsed time.
2824
2825 r
2826 Driver
2827
2828 s
2829 Driver
2830
2831 save-temps
2832 Driver
2833
2834 save-temps=
2835 Driver Joined
2836
2837 t
2838 Driver
2839
2840 time
2841 Driver Var(report_times)
2842
2843 time=
2844 Driver JoinedOrMissing
2845
2846 u
2847 Driver Joined Separate
2848
2849 undef
2850 Driver
2851 ; C option, but driver must not handle as "-u ndef".
2852
2853 v
2854 Common Driver Var(verbose_flag)
2855 Enable verbose output.
2856
2857 version
2858 Common Var(version_flag) RejectDriver
2859 Display the compiler's version.
2860
2861 w
2862 Common Var(inhibit_warnings)
2863 Suppress warnings.
2864
2865 wrapper
2866 Driver Separate Var(wrapper_string)
2867
2868 x
2869 Driver Joined Separate
2870
2871 shared
2872 Driver RejectNegative Negative(pie)
2873 Create a shared library.
2874
2875 shared-libgcc
2876 Driver
2877
2878 specs
2879 Driver Separate Alias(specs=)
2880
2881 specs=
2882 Driver Joined
2883
2884 static
2885 Driver
2886
2887 static-libgcc
2888 Driver
2889
2890 static-libgfortran
2891 Driver
2892 ; Documented for Fortran, but always accepted by driver.
2893
2894 static-libstdc++
2895 Driver
2896
2897 static-libgo
2898 Driver
2899 ; Documented for Go, but always accepted by driver.
2900
2901 static-libasan
2902 Driver
2903
2904 static-libtsan
2905 Driver
2906
2907 static-liblsan
2908 Driver
2909
2910 static-libubsan
2911 Driver
2912
2913 symbolic
2914 Driver
2915
2916 no-pie
2917 Driver RejectNegative Negative(shared)
2918 Don't create a position independent executable.
2919
2920 pie
2921 Driver RejectNegative Negative(no-pie)
2922 Create a position independent executable.
2923
2924 z
2925 Driver Joined Separate
2926
2927 fipa-ra
2928 Common Report Var(flag_ipa_ra) Optimization
2929 Use caller save register across calls if possible.
2930
2931 ; This comment is to ensure we retain the blank line above.