1 ; Options for the language- and target-independent parts of the compiler.
3 ; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4 ; Free Software Foundation, Inc.
6 ; This file is part of GCC.
8 ; GCC is free software; you can redistribute it and/or modify it under
9 ; the terms of the GNU General Public License as published by the Free
10 ; Software Foundation; either version 3, or (at your option) any later
13 ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
14 ; WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
18 ; You should have received a copy of the GNU General Public License
19 ; along with GCC; see the file COPYING3. If not see
20 ; <http://www.gnu.org/licenses/>.
22 ; See the GCC internals manual (options.texi) for a description of this file's format.
24 ; Please try to keep this file in ASCII collating order.
45 Driver Alias(coverage)
51 Common Separate Alias(d)
54 Common Joined Alias(d)
57 Common Separate Alias(dumpbase)
60 Common Separate Alias(dumpdir)
63 Driver Separate Alias(e)
66 Driver Joined Alias(e)
69 Common Warning Alias(Wextra)
72 Driver Separate Alias(Xassembler)
75 Driver JoinedOrMissing Alias(Xassembler)
78 Driver Separate Alias(Xlinker)
81 Driver JoinedOrMissing Alias(Xlinker)
84 Driver Separate Alias(u)
87 Driver Joined Alias(u)
90 Common Driver Var(help_flag)
91 Display this information
94 Common Driver Report Joined
95 --help=<class> Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params
98 Driver Separate Alias(x)
101 Driver Joined Alias(x)
104 Driver Separate Alias(L)
107 Driver Joined Alias(L)
109 -no-canonical-prefixes
110 Driver Alias(no-canonical-prefixes)
112 -no-standard-libraries
113 Driver Alias(nostdlib)
122 Common Driver Separate Alias(o) MissingArgError(missing filename after %qs)
125 Common Driver Joined Alias(o) MissingArgError(missing filename after %qs)
128 Driver Alias(pass-exit-codes)
131 Common Alias(pedantic)
134 Common Alias(pedantic-errors)
143 Driver Separate Alias(B)
146 Driver JoinedOrMissing Alias(B)
152 Driver Separate Alias(print-file-name=)
155 Driver JoinedOrMissing Alias(print-file-name=)
157 -print-libgcc-file-name
158 Driver Alias(print-libgcc-file-name)
160 -print-multi-directory
161 Driver Alias(print-multi-directory)
164 Driver Alias(print-multi-lib)
166 -print-multi-os-directory
167 Driver Alias(print-multi-os-directory)
170 Driver Separate Alias(print-prog-name=)
173 Driver JoinedOrMissing Alias(print-prog-name=)
176 Driver Alias(print-search-dirs)
179 Driver Alias(print-sysroot)
181 -print-sysroot-headers-suffix
182 Driver Alias(print-sysroot-headers-suffix)
188 Driver Alias(save-temps)
194 Driver Separate Alias(specs=)
197 Driver Joined Alias(specs=)
203 Driver Alias(symbolic)
207 Alias for --help=target
215 ;; The driver used to convert options such as --help into forms such
216 ;; as -fhelp; the following four entries are for compatibility with
217 ;; any direct uses of those (undocumented) -f forms
219 Common Driver Alias(-help)
222 Common Driver Joined Alias(-help=)
225 Common Driver Alias(-target-help)
228 Common Driver Alias(-version)
232 --param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters
235 Common Joined Alias(-param)
238 Driver Separate Alias(-sysroot=)
241 Driver JoinedOrMissing
247 Driver Joined Separate
253 Driver Joined Separate
256 Common JoinedOrMissing Optimization
257 -O<number> Set optimization level to <number>
261 Optimize for space rather than speed
265 Optimize for speed disregarding exact standards compliance
271 Common RejectNegative Warning Alias(Wextra)
272 This switch is deprecated; use -Wextra instead
275 Driver JoinedOrMissing
278 Driver JoinedOrMissing
281 Driver JoinedOrMissing
284 Common Var(warn_aggregate_return) Warning
285 Warn about returning structures, unions or arrays
288 Common Var(warn_array_bounds) Warning
289 Warn if an array is accessed out of bounds
292 Common Var(warn_attributes) Init(1) Warning
293 Warn about inappropriate attribute usage
296 Common Var(warn_cast_align) Warning
297 Warn about pointer casts which increase alignment
300 Common Var(warn_cpp) Init(1) Warning
301 Warn when a #warning directive is encountered
303 Wdeprecated-declarations
304 Common Var(warn_deprecated_decl) Init(1) Warning
305 Warn about uses of __attribute__((deprecated)) declarations
307 Wdisabled-optimization
308 Common Var(warn_disabled_optimization) Warning
309 Warn when an optimization pass is disabled
312 Common Var(warnings_are_errors)
313 Treat all warnings as errors
317 Treat specified warning as error
320 Common Var(extra_warnings) Warning
321 Print extra (possibly unwanted) warnings
324 Common Var(flag_fatal_errors)
325 Exit on the first error occurred
328 Common RejectNegative Joined UInteger
329 -Wframe-larger-than=<number> Warn if a function's stack frame requires more than <number> bytes
332 Common Var(warn_inline) Warning
333 Warn when an inlined function cannot be inlined
336 Common RejectNegative Joined Warning Undocumented Alias(Wlarger-than=)
339 Common RejectNegative Joined UInteger Warning
340 -Wlarger-than=<number> Warn if an object is larger than <number> bytes
342 Wunsafe-loop-optimizations
343 Common Var(warn_unsafe_loop_optimizations) Warning
344 Warn if the loop cannot be optimized due to nontrivial assumptions.
347 Common Var(warn_missing_noreturn) Warning
348 Warn about functions which might be candidates for __attribute__((noreturn))
351 Common Var(warn_mudflap) Init(1) Warning
352 Warn about constructs not instrumented by -fmudflap
355 Common Var(warn_overflow) Init(1) Warning
356 Warn about overflow in arithmetic expressions
359 Common Var(warn_packed) Warning
360 Warn when the packed attribute has no effect on struct layout
363 Common Var(warn_padded) Warning
364 Warn when padding is required to align structure members
367 Common Var(warn_shadow) Warning
368 Warn when one local variable shadows another
371 Common Var(warn_stack_protect) Warning
372 Warn when not issuing stack smashing protection for some reason
376 Warn about code which might break strict aliasing rules
379 Common Joined RejectNegative UInteger Var(warn_strict_aliasing) Init(-1) Warning
380 Warn about code which might break strict aliasing rules
384 Warn about optimizations that assume that signed overflow is undefined
387 Common Joined RejectNegative UInteger Var(warn_strict_overflow) Init(-1) Warning
388 Warn about optimizations that assume that signed overflow is undefined
390 Wsuggest-attribute=const
391 Common Var(warn_suggest_attribute_const) Warning
392 Warn about functions which might be candidates for __attribute__((const))
394 Wsuggest-attribute=pure
395 Common Var(warn_suggest_attribute_pure) Warning
396 Warn about functions which might be candidates for __attribute__((pure))
398 Wsuggest-attribute=noreturn
399 Common Var(warn_suggest_attribute_noreturn) Warning
400 Warn about functions which might be candidates for __attribute__((noreturn))
403 Common Var(warn_switch) Warning
404 Warn about enumerated switches, with no default, missing a case
407 Common Var(warn_switch_default) Warning
408 Warn about enumerated switches missing a \"default:\" statement
411 Common Var(warn_switch_enum) Warning
412 Warn about all enumerated switches missing a specific case
415 Common Var(warn_system_headers) Warning
416 Do not suppress warnings from system headers
419 Common Var(warn_trampolines) Warning
420 Warn whenever a trampoline is generated
423 Common Var(warn_type_limits) Init(-1) Warning
424 Warn if a comparison is always true or always false due to the limited range of the data type
427 Common Var(warn_uninitialized) Init(-1) Warning
428 Warn about uninitialized automatic variables
432 Does nothing. Preserved for backward compatibility.
435 Common Var(warn_unused) Init(0) Warning
436 Enable all -Wunused- warnings
438 Wunused-but-set-parameter
439 Common Var(warn_unused_but_set_parameter) Init(-1) Warning
440 Warn when a function parameter is only set, otherwise unused
442 Wunused-but-set-variable
443 Common Var(warn_unused_but_set_variable) Init(-1) Warning
444 Warn when a variable is only set, otherwise unused
447 Common Var(warn_unused_function) Init(-1) Warning
448 Warn when a function is unused
451 Common Var(warn_unused_label) Init(-1) Warning
452 Warn when a label is unused
455 Common Var(warn_unused_parameter) Init(-1) Warning
456 Warn when a function parameter is unused
459 Common Var(warn_unused_value) Init(-1) Warning
460 Warn when an expression value is unused
463 Common Var(warn_unused_variable) Init(-1) Warning
464 Warn when a variable is unused
467 Common Var(warn_coverage_mismatch) Init(1) Warning
468 Warn in case profiles in -fprofile-use do not match
481 -aux-info <file> Emit declaration information into <file>
484 Common Joined Alias(aux-info)
487 Common Separate RejectDriver
490 Common Separate RejectDriver
500 -d<letters> Enable dumps from specific passes of the compiler
504 -dumpbase <file> Set the file basename to be used for dumps
508 -dumpdir <dir> Set the directory name to be used for dumps
520 Driver Joined Separate
522 ; The version of the C++ ABI in use. The following values are allowed:
524 ; 0: The version of the ABI believed most conformant with the C++ ABI
525 ; specification. This ABI may change as bugs are discovered and fixed.
526 ; Therefore, 0 will not necessarily indicate the same ABI in different
529 ; 1: The version of the ABI first used in G++ 3.2.
531 ; 2: The version of the ABI first used in G++ 3.4 (and current default).
533 ; 3: The version of the ABI that fixes the missing underscore
534 ; in template non-type arguments of pointer type.
536 ; 4: The version of the ABI that introduces unambiguous mangling of
539 ; Additional positive integers will be assigned as new versions of
540 ; the ABI become the default version of the ABI.
542 Common Joined RejectNegative UInteger Var(flag_abi_version) Init(2)
545 Common Report Var(align_functions,0) Optimization UInteger
546 Align the start of functions
549 Common RejectNegative Joined UInteger
552 Common Report Var(align_jumps,0) Optimization UInteger
553 Align labels which are only reached by jumping
556 Common RejectNegative Joined UInteger
559 Common Report Var(align_labels,0) Optimization UInteger
563 Common RejectNegative Joined UInteger
566 Common Report Var(align_loops) Optimization UInteger
567 Align the start of loops
570 Common RejectNegative Joined UInteger
574 Does nothing. Preserved for backward compatibility.
578 Does nothing. Preserved for backward compatibility.
580 fargument-noalias-global
582 Does nothing. Preserved for backward compatibility.
584 fargument-noalias-anything
586 Does nothing. Preserved for backward compatibility.
588 fasynchronous-unwind-tables
589 Common Report Var(flag_asynchronous_unwind_tables) Optimization
590 Generate unwind tables that are exact at each instruction boundary
593 Common Report Var(flag_auto_inc_dec) Init(1)
594 Generate auto-inc/dec instructions
596 ; -fcheck-bounds causes gcc to generate array bounds checks.
597 ; For C, C++ and ObjC: defaults off.
598 ; For Java: defaults to on.
599 ; For Fortran: defaults to off.
601 Common Report Var(flag_bounds_check)
602 Generate code to check bounds before indexing arrays
605 Common Report Var(flag_branch_on_count_reg) Init(1) Optimization
606 Replace add, compare, branch with branch on count register
608 fbranch-probabilities
609 Common Report Var(flag_branch_probabilities) Optimization
610 Use profiling information for branch probabilities
612 fbranch-target-load-optimize
613 Common Report Var(flag_branch_target_load_optimize) Optimization
614 Perform branch target load optimization before prologue / epilogue threading
616 fbranch-target-load-optimize2
617 Common Report Var(flag_branch_target_load_optimize2) Optimization
618 Perform branch target load optimization after prologue / epilogue threading
621 Common Report Var(flag_btr_bb_exclusive) Optimization
622 Restrict target load migration not to re-use registers in any basic block
625 Common Joined RejectNegative
626 -fcall-saved-<register> Mark <register> as being preserved across functions
629 Common Joined RejectNegative
630 -fcall-used-<register> Mark <register> as being corrupted by function calls
632 ; Nonzero for -fcaller-saves: allocate values in regs that need to
633 ; be saved across function calls, if that produces overall better code.
634 ; Optional now, so people can test it.
636 Common Report Var(flag_caller_saves) Optimization
637 Save registers around function calls
640 Common Report Var(flag_check_data_deps)
641 Compare the results of several data dependence analyzers.
643 fcombine-stack-adjustments
644 Common Report Var(flag_combine_stack_adjustments) Optimization
645 Looks for opportunities to reduce stack adjustments and stack references.
648 Common Report Var(flag_no_common,0) Optimization
649 Do not put uninitialized globals in the common section
653 ; Converted by the driver to -fcompare-debug= options.
656 Common Driver JoinedOrMissing RejectNegative Var(flag_compare_debug_opt)
657 -fcompare-debug[=<opts>] Compile with and without e.g. -gtoggle, and compare the final-insns dump
659 fcompare-debug-second
660 Common Driver RejectNegative
661 Run only the second compilation of -fcompare-debug
664 Common Var(flag_conserve_stack) Optimization
665 Do not perform optimizations increasing noticeably stack usage
668 Common Report Var(flag_cprop_registers) Optimization
669 Perform a register copy-propagation optimization pass
672 Common Report Var(flag_crossjumping) Optimization
673 Perform cross-jumping optimization
676 Common Report Var(flag_cse_follow_jumps) Optimization
677 When running CSE, follow jumps to their targets
681 Does nothing. Preserved for backward compatibility.
684 Common Report Var(flag_cx_limited_range) Optimization
685 Omit range reduction step when performing complex division
688 Common Report Var(flag_cx_fortran_rules) Optimization
689 Complex multiplication and division follow Fortran rules
692 Common Report Var(flag_data_sections) Optimization
693 Place data items into their own section
697 List all available debugging counters with their limits and counts.
700 Common RejectNegative Joined
701 -fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit.
704 Common Joined RejectNegative
705 Map one directory name to another in debug information
707 ; Nonzero for -fdefer-pop: don't pop args after each function call
708 ; instead save them up to pop many calls' args with one insns.
710 Common Report Var(flag_defer_pop) Optimization
711 Defer popping functions args from stack until later
714 Common Report Var(flag_delayed_branch) Optimization
715 Attempt to fill delay slots of branch instructions
717 fdelete-null-pointer-checks
718 Common Report Var(flag_delete_null_pointer_checks) Init(1) Optimization
719 Delete useless null pointer checks
721 fdiagnostics-show-location=
722 Common Joined RejectNegative
723 -fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics
725 fdiagnostics-show-option
726 Common Var(flag_diagnostics_show_option) Init(1)
727 Amend appropriate diagnostic messages with the command line option that controls them
730 Common Joined RejectNegative
731 -fdump-<type> Dump various compiler internals to a file
734 Driver RejectNegative
737 Common RejectNegative Joined Var(flag_dump_final_insns)
738 -fdump-final-insns=filename Dump to filename the insns at the end of translation
741 Common Report Var(flag_dump_noaddr)
742 Suppress output of addresses in debugging dumps
745 Common Report Var(flag_dump_unnumbered)
746 Suppress output of instruction numbers, line number notes and addresses in debugging dumps
748 fdump-unnumbered-links
749 Common Report Var(flag_dump_unnumbered_links)
750 Suppress output of previous and next insn numbers in debugging dumps
753 Common Report Var(flag_dwarf2_cfi_asm) Init(HAVE_GAS_CFI_DIRECTIVE)
754 Enable CFI tables via GAS assembler directives.
757 Common Report Var(flag_early_inlining) Init(1) Optimization
758 Perform early inlining
760 feliminate-dwarf2-dups
761 Common Report Var(flag_eliminate_dwarf2_dups)
762 Perform DWARF2 duplicate elimination
765 Common Report Var(flag_ipa_sra) Init(0) Optimization
766 Perform interprocedural reduction of aggregates
768 feliminate-unused-debug-symbols
769 Common Report Var(flag_debug_only_used_symbols)
770 Perform unused type elimination in debug info
772 feliminate-unused-debug-types
773 Common Report Var(flag_eliminate_unused_debug_types) Init(1)
774 Perform unused type elimination in debug info
776 femit-class-debug-always
777 Common Report Var(flag_emit_class_debug_always) Init(0)
778 Do not suppress C++ class debug information.
781 Common Report Var(flag_enable_icf_debug)
782 Generate debug information to support Identical Code Folding (ICF)
785 Common Report Var(flag_exceptions) Optimization
786 Enable exception handling
788 fexpensive-optimizations
789 Common Report Var(flag_expensive_optimizations) Optimization
790 Perform a number of minor, expensive optimizations
793 Common Joined RejectNegative
794 -fexcess-precision=[fast|standard] Specify handling of excess floating-point precision
800 Common Report Var(flag_finite_math_only) Optimization
801 Assume no NaNs or infinities are generated
804 Common Joined RejectNegative
805 -ffixed-<register> Mark <register> as being unavailable to the compiler
808 Common Report Var(flag_float_store) Optimization
809 Don't allocate floats and doubles in extended-precision registers
813 Does nothing. Preserved for backward compatibility.
816 Common Report Var(flag_forward_propagate) Optimization
817 Perform a forward propagation pass on RTL
819 ; Nonzero means don't put addresses of constant functions in registers.
820 ; Used for compiling the Unix kernel, where strange substitutions are
821 ; done on the assembly output.
823 Common Report Var(flag_no_function_cse,0)
824 Allow function addresses to be held in registers
827 Common Report Var(flag_function_sections)
828 Place each function into its own section
831 Common Report Var(flag_gcse) Optimization
832 Perform global common subexpression elimination
835 Common Report Var(flag_gcse_lm) Init(1) Optimization
836 Perform enhanced load motion during global common subexpression elimination
839 Common Report Var(flag_gcse_sm) Init(0) Optimization
840 Perform store motion after global common subexpression elimination
843 Common Report Var(flag_gcse_las) Init(0) Optimization
844 Perform redundant load after store elimination in global common subexpression
848 Common Report Var(flag_gcse_after_reload) Optimization
849 Perform global common subexpression elimination after register allocation
852 ; This option is not documented yet as its semantics will change.
854 Common Report Var(flag_graphite)
855 Enable in and out of Graphite representation
858 Common Report Var(flag_graphite_identity) Optimization
859 Enable Graphite Identity transformation
861 floop-parallelize-all
862 Common Report Var(flag_loop_parallelize_all) Optimization
863 Mark all loops as parallel
866 Common Report Var(flag_loop_strip_mine) Optimization
867 Enable Loop Strip Mining transformation
870 Common Report Var(flag_loop_interchange) Optimization
871 Enable Loop Interchange transformation
874 Common Report Var(flag_loop_block) Optimization
875 Enable Loop Blocking transformation
878 Common Report Var(flag_loop_flatten) Optimization
879 Enable Loop Flattening transformation
881 fstrict-volatile-bitfields
882 Common Report Var(flag_strict_volatile_bitfields) Init(-1)
883 Force bitfield accesses to match their type width
885 fguess-branch-probability
886 Common Report Var(flag_guess_branch_prob) Optimization
887 Enable guessing of branch probabilities
889 ; Nonzero means ignore `#ident' directives. 0 means handle them.
890 ; Generate position-independent code for executables if possible
891 ; On SVR4 targets, it also controls whether or not to emit a
892 ; string identifying the compiler.
894 Common Report Var(flag_no_ident,0)
895 Process #ident directives
898 Common Report Var(flag_if_conversion) Optimization
899 Perform conversion of conditional jumps to branchless equivalents
902 Common Report Var(flag_if_conversion2) Optimization
903 Perform conversion of conditional jumps to conditional execution
905 ftree-loop-if-convert
906 Common Report Var(flag_tree_loop_if_convert) Init(-1) Optimization
907 Convert conditional jumps in innermost loops to branchless equivalents
909 ftree-loop-if-convert-stores
910 Common Report Var(flag_tree_loop_if_convert_stores) Optimization
911 Also if-convert conditional jumps containing memory writes
913 ; -finhibit-size-directive inhibits output of .size for ELF.
914 ; This is used only for compiling crtstuff.c,
915 ; and it may be extended to other effects
916 ; needed for crtstuff.c on other systems.
917 finhibit-size-directive
918 Common Report Var(flag_inhibit_size_directive)
919 Do not generate .size directives
922 Common Report Var(flag_indirect_inlining)
923 Perform indirect inlining
925 ; Nonzero means that functions declared `inline' will be treated
926 ; as `static'. Prevents generation of zillions of copies of unused
927 ; static inline functions; instead, `inlines' are written out
928 ; only when actually used. Used in conjunction with -g. Also
929 ; does the right thing with #pragma interface.
931 Common Report Var(flag_no_inline,0) Init(0)
932 Pay attention to the \"inline\" keyword
934 finline-small-functions
935 Common Report Var(flag_inline_small_functions) Optimization
936 Integrate simple functions into their callers when code size is known to not growth
939 Common Report Var(flag_inline_functions) Optimization
940 Integrate simple functions into their callers
942 finline-functions-called-once
943 Common Report Var(flag_inline_functions_called_once) Init(1) Optimization
944 Integrate functions called once into their callers
947 Common RejectNegative Joined Alias(finline-limit=)
950 Common RejectNegative Joined UInteger
951 -finline-limit=<number> Limit the size of inlined functions to <number>
953 finstrument-functions
954 Common Report Var(flag_instrument_function_entry_exit)
955 Instrument function entry and exit with profiling calls
957 finstrument-functions-exclude-function-list=
958 Common RejectNegative Joined
959 -finstrument-functions-exclude-function-list=name,... Do not instrument listed functions
961 finstrument-functions-exclude-file-list=
962 Common RejectNegative Joined
963 -finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files
966 Common Report Var(flag_ipa_cp) Optimization
967 Perform Interprocedural constant propagation
970 Common Report Var(flag_ipa_cp_clone) Optimization
971 Perform cloning to make Interprocedural constant propagation stronger
974 Common Report Var(flag_ipa_profile) Init(0) Optimization
975 Perform interprocedural profile propagation
978 Common Report Var(flag_ipa_pta) Init(0) Optimization
979 Perform interprocedural points-to analysis
982 Common Report Var(flag_ipa_pure_const) Init(0) Optimization
983 Discover pure and const functions
986 Common Report Var(flag_ipa_reference) Init(0) Optimization
987 Discover readonly and non addressable static variables
990 Common Report Var(flag_ipa_matrix_reorg) Optimization
991 Perform matrix layout flattening and transposing based
992 on profiling information.
995 Common Report Var(flag_ipa_struct_reorg)
996 Perform structure layout optimizations based
997 on profiling information.
1000 Common Joined RejectNegative
1001 -fira-algorithm=[CB|priority] Set the used IRA algorithm
1004 Common Joined RejectNegative
1005 -fira-region=[one|all|mixed] Set regions for IRA
1008 Common Report Var(flag_ira_loop_pressure)
1009 Use IRA based register pressure calculation
1010 in RTL loop optimizations.
1012 fira-share-save-slots
1013 Common Report Var(flag_ira_share_save_slots) Init(1)
1014 Share slots for saving different hard registers.
1016 fira-share-spill-slots
1017 Common Report Var(flag_ira_share_spill_slots) Init(1)
1018 Share stack slots for spilled pseudo-registers.
1021 Common RejectNegative Joined UInteger Var(flag_ira_verbose) Init(5)
1022 -fira-verbose=<number> Control IRA's level of diagnostic messages.
1025 Common Report Var(flag_ivopts) Init(1) Optimization
1026 Optimize induction variables on trees
1029 Common Var(flag_jump_tables) Init(1) Optimization
1030 Use jump tables for sufficiently large switch statements
1032 fkeep-inline-functions
1033 Common Report Var(flag_keep_inline_functions)
1034 Generate code for functions even if they are fully inlined
1037 Common Report Var(flag_keep_static_consts) Init(1)
1038 Emit static const variables even if they are not used
1041 Common Report Var(flag_leading_underscore) Init(-1)
1042 Give external symbols a leading underscore
1046 Does nothing. Preserved for backward compatibility.
1049 Common Var(flag_lto)
1050 Enable link-time optimization.
1053 Common Var(flag_lto_partition_1to1)
1054 Partition functions and vars at linktime based on object files they originate from
1056 flto-partition=balanced
1057 Common Var(flag_lto_partition_balanced)
1058 Partition functions and vars at linktime into approximately same sized buckets
1060 ; The initial value of -1 comes from Z_DEFAULT_COMPRESSION in zlib.h.
1061 flto-compression-level=
1062 Common Joined RejectNegative UInteger Var(flag_lto_compression_level) Init(-1)
1063 -flto-compression-level=<number> Use zlib compression level <number> for IL
1066 Common Report Var(flag_lto_report) Init(0) Optimization
1067 Report various link-time optimization statistics
1070 Common Report Var(flag_errno_math) Init(1) Optimization
1071 Set errno after built-in math functions
1074 Common Report Var(mem_report)
1075 Report on permanent memory allocation
1077 ; This will attempt to merge constant section constants, if 1 only
1078 ; string constants and constants from constant pool, if 2 also constant
1080 fmerge-all-constants
1081 Common Report Var(flag_merge_constants,2) Init(1) Optimization
1082 Attempt to merge identical constants and constant variables
1085 Common Report Var(flag_merge_constants,1) Optimization
1086 Attempt to merge identical constants across compilation units
1088 fmerge-debug-strings
1089 Common Report Var(flag_merge_debug_strings) Init(1)
1090 Attempt to merge identical debug strings across compilation units
1093 Common RejectNegative Joined UInteger
1094 -fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping
1097 Common Report Var(flag_modulo_sched) Optimization
1098 Perform SMS based modulo scheduling before the first scheduling pass
1100 fmodulo-sched-allow-regmoves
1101 Common Report Var(flag_modulo_sched_allow_regmoves)
1102 Perform SMS based modulo scheduling with register moves allowed
1104 fmove-loop-invariants
1105 Common Report Var(flag_move_loop_invariants) Init(1) Optimization
1106 Move loop invariant computations out of loops
1109 Common RejectNegative Report Var(flag_mudflap)
1110 Add mudflap bounds-checking instrumentation for single-threaded program
1113 Common RejectNegative Report Var(flag_mudflap,2)
1114 Add mudflap bounds-checking instrumentation for multi-threaded program
1117 Common RejectNegative Report Var(flag_mudflap_ignore_reads)
1118 Ignore read operations when inserting mudflap instrumentation
1121 Common Var(flag_dce) Init(1) Optimization
1122 Use the RTL dead code elimination pass
1125 Common Var(flag_dse) Init(1) Optimization
1126 Use the RTL dead store elimination pass
1128 freschedule-modulo-scheduled-loops
1129 Common Report Var(flag_resched_modulo_sched) Optimization
1130 Enable/Disable the traditional scheduling in loops that already passed modulo scheduling
1132 fnon-call-exceptions
1133 Common Report Var(flag_non_call_exceptions) Optimization
1134 Support synchronous non-call exceptions
1137 Common Report Var(flag_omit_frame_pointer) Optimization
1138 When possible do not generate stack frames
1140 foptimize-register-move
1141 Common Report Var(flag_regmove) Optimization
1142 Do the full register move optimization pass
1144 foptimize-sibling-calls
1145 Common Report Var(flag_optimize_sibling_calls) Optimization
1146 Optimize sibling and tail recursive calls
1149 Common Report Var(flag_partial_inlining)
1150 Perform partial inlining
1153 Common Report Var(pre_ipa_mem_report)
1154 Report on memory allocation before interprocedural optimization
1156 fpost-ipa-mem-report
1157 Common Report Var(post_ipa_mem_report)
1158 Report on memory allocation before interprocedural optimization
1161 Common Report Var(flag_pack_struct) Optimization
1162 Pack structure members together without holes
1165 Common RejectNegative Joined UInteger Optimization
1166 -fpack-struct=<number> Set initial maximum structure member alignment
1169 Common Report Var(flag_pcc_struct_return,1) Init(DEFAULT_PCC_STRUCT_RETURN)
1170 Return small aggregates in memory, not registers
1173 Common Report Var(flag_peel_loops) Optimization
1174 Perform loop peeling
1177 Common Report Var(flag_no_peephole,0) Optimization
1178 Enable machine specific peephole optimizations
1181 Common Report Var(flag_peephole2) Optimization
1182 Enable an RTL peephole pass before sched2
1185 Common Report Var(flag_pic,2)
1186 Generate position-independent code if possible (large mode)
1189 Common Report Var(flag_pie,2)
1190 Generate position-independent code for executables if possible (large mode)
1193 Common Report Var(flag_pic,1)
1194 Generate position-independent code if possible (small mode)
1197 Common Report Var(flag_pie,1)
1198 Generate position-independent code for executables if possible (small mode)
1201 Common Joined RejectNegative
1202 Specify a plugin to load
1205 Common Joined RejectNegative
1206 -fplugin-arg-<name>-<key>[=<value>] Specify argument <key>=<value> for plugin <name>
1208 fpredictive-commoning
1209 Common Report Var(flag_predictive_commoning) Optimization
1210 Run predictive commoning optimization.
1212 fprefetch-loop-arrays
1213 Common Report Var(flag_prefetch_loop_arrays) Init(-1) Optimization
1214 Generate prefetch instructions, if available, for arrays in loops
1217 Common Report Var(profile_flag)
1218 Enable basic program profiling code
1221 Common Report Var(profile_arc_flag)
1222 Insert arc-based program profiling code
1225 Common Joined RejectNegative
1226 Set the top-level directory for storing the profile data.
1227 The default is 'pwd'.
1230 Common Report Var(flag_profile_correction)
1231 Enable correction of flow inconsistent profile data input
1235 Enable common options for generating profile info for profile feedback directed optimizations
1238 Common Joined RejectNegative
1239 Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=
1242 Common Var(flag_profile_use)
1243 Enable common options for performing profile feedback directed optimizations
1246 Common Joined RejectNegative
1247 Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir=
1250 Common Report Var(flag_profile_values)
1251 Insert code to profile values of expressions
1257 Common Joined RejectNegative
1258 -frandom-seed=<string> Make compile reproducible using <string>
1260 ; This switch causes the command line that was used to create an
1261 ; object file to be recorded into the object file. The exact format
1262 ; of this recording is target and binary file format dependent.
1263 ; It is related to the -fverbose-asm switch, but that switch only
1264 ; records information in the assembler output file as comments, so
1265 ; they never reach the object file.
1266 frecord-gcc-switches
1267 Common Report Var(flag_record_gcc_switches)
1268 Record gcc command line switches in the object file.
1271 Common Report Var(flag_pcc_struct_return,0) Optimization
1272 Return small aggregates in registers
1275 Common Report Var(flag_regmove) Optimization
1276 Enables a register move optimization
1279 Common Report Var(flag_rename_registers) Init(2) Optimization
1280 Perform a register renaming optimization pass
1283 Common Report Var(flag_reorder_blocks) Optimization
1284 Reorder basic blocks to improve code placement
1286 freorder-blocks-and-partition
1287 Common Report Var(flag_reorder_blocks_and_partition) Optimization
1288 Reorder basic blocks and partition into hot and cold sections
1291 Common Report Var(flag_reorder_functions) Optimization
1292 Reorder functions to improve code placement
1294 frerun-cse-after-loop
1295 Common Report Var(flag_rerun_cse_after_loop) Init(2) Optimization
1296 Add a common subexpression elimination pass after loop optimizations
1300 Does nothing. Preserved for backward compatibility.
1303 Common Report Var(flag_rounding_math) Optimization
1304 Disable optimizations that assume default FP rounding behavior
1307 Common Report Var(flag_schedule_interblock) Init(1) Optimization
1308 Enable scheduling across basic blocks
1311 Common Report Var(flag_sched_pressure) Init(0) Optimization
1312 Enable register pressure sensitive insn scheduling
1315 Common Report Var(flag_schedule_speculative) Init(1) Optimization
1316 Allow speculative motion of non-loads
1319 Common Report Var(flag_schedule_speculative_load) Optimization
1320 Allow speculative motion of some loads
1322 fsched-spec-load-dangerous
1323 Common Report Var(flag_schedule_speculative_load_dangerous) Optimization
1324 Allow speculative motion of more loads
1327 Common RejectNegative Joined
1328 -fsched-verbose=<number> Set the verbosity level of the scheduler
1330 fsched2-use-superblocks
1331 Common Report Var(flag_sched2_use_superblocks) Optimization
1332 If scheduling post reload, do superblock scheduling
1336 Does nothing. Preserved for backward compatibility.
1339 Common Report Var(flag_schedule_insns) Optimization
1340 Reschedule instructions before register allocation
1343 Common Report Var(flag_schedule_insns_after_reload) Optimization
1344 Reschedule instructions after register allocation
1346 ; This flag should be on when a target implements non-trivial
1347 ; scheduling hooks, maybe saving some information for its own sake.
1348 ; On IA64, for example, this is used for correct bundling.
1349 fselective-scheduling
1350 Common Report Var(flag_selective_scheduling) Optimization
1351 Schedule instructions using selective scheduling algorithm
1353 fselective-scheduling2
1354 Common Report Var(flag_selective_scheduling2) Optimization
1355 Run selective scheduling after reload
1357 fsel-sched-pipelining
1358 Common Report Var(flag_sel_sched_pipelining) Init(0) Optimization
1359 Perform software pipelining of inner loops during selective scheduling
1361 fsel-sched-pipelining-outer-loops
1362 Common Report Var(flag_sel_sched_pipelining_outer_loops) Init(0) Optimization
1363 Perform software pipelining of outer loops during selective scheduling
1365 fsel-sched-reschedule-pipelined
1366 Common Report Var(flag_sel_sched_reschedule_pipelined) Init(0) Optimization
1367 Reschedule pipelined regions without pipelining
1369 ; sched_stalled_insns means that insns can be moved prematurely from the queue
1370 ; of stalled insns into the ready list.
1371 fsched-stalled-insns
1372 Common Report Var(flag_sched_stalled_insns) Optimization UInteger
1373 Allow premature scheduling of queued insns
1375 fsched-stalled-insns=
1376 Common RejectNegative Joined UInteger
1377 -fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled
1379 ; sched_stalled_insns_dep controls how many recently scheduled cycles will
1380 ; be examined for a dependency on a stalled insn that is candidate for
1381 ; premature removal from the queue of stalled insns into the ready list (has
1382 ; an effect only if the flag 'sched_stalled_insns' is set).
1383 fsched-stalled-insns-dep
1384 Common Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization UInteger
1385 Set dependence distance checking in premature scheduling of queued insns
1387 fsched-stalled-insns-dep=
1388 Common RejectNegative Joined UInteger
1389 -fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns
1391 fsched-group-heuristic
1392 Common Report Var(flag_sched_group_heuristic) Init(1) Optimization
1393 Enable the group heuristic in the scheduler
1395 fsched-critical-path-heuristic
1396 Common Report Var(flag_sched_critical_path_heuristic) Init(1) Optimization
1397 Enable the critical path heuristic in the scheduler
1399 fsched-spec-insn-heuristic
1400 Common Report Var(flag_sched_spec_insn_heuristic) Init(1) Optimization
1401 Enable the speculative instruction heuristic in the scheduler
1403 fsched-rank-heuristic
1404 Common Report Var(flag_sched_rank_heuristic) Init(1) Optimization
1405 Enable the rank heuristic in the scheduler
1407 fsched-last-insn-heuristic
1408 Common Report Var(flag_sched_last_insn_heuristic) Init(1) Optimization
1409 Enable the last instruction heuristic in the scheduler
1411 fsched-dep-count-heuristic
1412 Common Report Var(flag_sched_dep_count_heuristic) Init(1) Optimization
1413 Enable the dependent count heuristic in the scheduler
1416 Common Report Var(flag_section_anchors) Optimization
1417 Access data in the same section from shared anchor points
1421 Does nothing. Preserved for backward compatibility.
1424 Common Report Var(flag_zee) Init(0)
1425 Eliminate redundant zero extensions on targets that support implicit extensions.
1428 Common Report Var(flag_show_column) Init(1)
1429 Show column numbers in diagnostics, when available. Default on
1432 Common Report Var(flag_signaling_nans) Optimization
1433 Disable optimizations observable by IEEE signaling NaNs
1436 Common Report Var(flag_signed_zeros) Init(1) Optimization
1437 Disable floating point optimizations that ignore the IEEE signedness of zero
1439 fsingle-precision-constant
1440 Common Report Var(flag_single_precision_constant) Optimization
1441 Convert floating point constants to single precision constants
1443 fsplit-ivs-in-unroller
1444 Common Report Var(flag_split_ivs_in_unroller) Init(1) Optimization
1445 Split lifetimes of induction variables when loops are unrolled
1448 Common Report Var(flag_split_stack) Init(-1)
1449 Generate discontiguous stack frames
1452 Common Report Var(flag_split_wide_types) Optimization
1453 Split wide types into independent registers
1455 fvariable-expansion-in-unroller
1456 Common Report Var(flag_variable_expansion_in_unroller) Optimization
1457 Apply variable expansion when loops are unrolled
1460 Common Report RejectNegative Joined
1461 -fstack-check=[no|generic|specific] Insert stack checking code into the program
1464 Common Alias(fstack-check=, specific, no)
1465 Insert stack checking code into the program. Same as -fstack-check=specific
1470 fstack-limit-register=
1471 Common RejectNegative Joined
1472 -fstack-limit-register=<register> Trap if the stack goes past <register>
1474 fstack-limit-symbol=
1475 Common RejectNegative Joined
1476 -fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>
1479 Common Report Var(flag_stack_protect, 1)
1480 Use propolice as a stack protection method
1482 fstack-protector-all
1483 Common Report RejectNegative Var(flag_stack_protect, 2)
1484 Use a stack protection method for every function
1487 Common RejectNegative Var(flag_stack_usage)
1488 Output stack usage information on a per-function basis
1492 Does nothing. Preserved for backward compatibility.
1494 ; Nonzero if we should do (language-dependent) alias analysis.
1495 ; Typically, this analysis will assume that expressions of certain
1496 ; types do not alias expressions of certain other types. Only used
1497 ; if alias analysis (in general) is enabled.
1499 Common Report Var(flag_strict_aliasing) Optimization
1500 Assume strict aliasing rules apply
1503 Common Report Var(flag_strict_overflow)
1504 Treat signed overflow as undefined
1507 Common Report Var(flag_syntax_only)
1508 Check for syntax errors, then stop
1511 Common Report Var(flag_test_coverage)
1512 Create data files needed by \"gcov\"
1515 Common Report Var(flag_thread_jumps) Optimization
1516 Perform jump threading optimizations
1519 Common Report Var(time_report)
1520 Report the time taken by each compiler pass
1523 Common Joined RejectNegative
1524 -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model
1527 Common Report Var(flag_toplevel_reorder) Init(2) Optimization
1528 Reorder top level functions, variables, and asms
1531 Common Report Var(flag_tracer)
1532 Perform superblock formation via tail duplication
1534 ; Zero means that floating-point math operations cannot generate a
1535 ; (user-visible) trap. This is the case, for example, in nonstop
1536 ; IEEE 754 arithmetic.
1538 Common Report Var(flag_trapping_math) Init(1) Optimization
1539 Assume floating-point operations can trap
1542 Common Report Var(flag_trapv) Optimization
1543 Trap for signed overflow in addition, subtraction and multiplication
1546 Common Report Var(flag_tree_ccp) Optimization
1547 Enable SSA-CCP optimization on trees
1550 Common Report Var(flag_tree_bit_ccp) Optimization
1551 Enable SSA-BIT-CCP optimization on trees
1555 Does nothing. Preserved for backward compatibility.
1558 Common Report Var(flag_tree_ch) Optimization
1559 Enable loop header copying on trees
1562 Common Report Var(flag_tree_copyrename) Optimization
1563 Replace SSA temporaries with better names in copies
1566 Common Report Var(flag_tree_copy_prop) Optimization
1567 Enable copy propagation on trees
1569 ftree-store-copy-prop
1571 Does nothing. Preserved for backward compatibility.
1574 Common Report Var(flag_tree_cselim) Init(2) Optimization
1575 Transform condition stores into unconditional ones
1577 ftree-switch-conversion
1578 Common Report Var(flag_tree_switch_conversion) Optimization
1579 Perform conversions of switch initializations.
1582 Common Report Var(flag_tree_dce) Optimization
1583 Enable SSA dead code elimination optimization on trees
1585 ftree-dominator-opts
1586 Common Report Var(flag_tree_dom) Optimization
1587 Enable dominator optimizations
1590 Common Report Var(flag_tree_dse) Optimization
1591 Enable dead store elimination
1594 Common Report Var(flag_tree_forwprop) Init(1) Optimization
1595 Enable forward propagation on trees
1598 Common Report Var(flag_tree_fre) Optimization
1599 Enable Full Redundancy Elimination (FRE) on trees
1601 ftree-loop-distribution
1602 Common Report Var(flag_tree_loop_distribution) Optimization
1603 Enable loop distribution on trees
1605 ftree-loop-distribute-patterns
1606 Common Report Var(flag_tree_loop_distribute_patterns) Optimization
1607 Enable loop distribution for patterns transformed into a library call
1610 Common Report Var(flag_tree_loop_im) Init(1) Optimization
1611 Enable loop invariant motion on trees
1614 Common Report Var(flag_tree_loop_linear) Optimization
1615 Enable linear loop transforms on trees
1618 Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization
1619 Create canonical induction variables in loops
1622 Common Report Var(flag_tree_loop_optimize) Init(1) Optimization
1623 Enable loop optimizations on tree level
1625 ftree-parallelize-loops=
1626 Common Report Joined RejectNegative UInteger Var(flag_tree_parallelize_loops) Init(1)
1627 Enable automatic parallelization of loops
1630 Common Report Var(flag_tree_phiprop) Init(1) Optimization
1631 Enable hoisting loads from conditional pointers.
1634 Common Report Var(flag_tree_pre) Optimization
1635 Enable SSA-PRE optimization on trees
1638 Common Report Var(flag_tree_pta) Init(1) Optimization
1639 Perform function-local points-to analysis on trees.
1642 Common Report Var(flag_tree_reassoc) Init(1) Optimization
1643 Enable reassociation on tree level
1647 Does nothing. Preserved for backward compatibility.
1650 Common Report Var(flag_tree_sink) Optimization
1651 Enable SSA code sinking on trees
1654 Common Report Var(flag_tree_sra) Optimization
1655 Perform scalar replacement of aggregates
1658 Common Report Var(flag_tree_ter) Init(1) Optimization
1659 Replace temporary expressions in the SSA->normal pass
1662 Common Report Var(flag_tree_live_range_split) Optimization
1663 Perform live range splitting during the SSA->normal pass
1666 Common Report Var(flag_tree_vrp) Init(0) Optimization
1667 Perform Value Range Propagation on trees
1670 Common Report Var(flag_unit_at_a_time) Init(1) Optimization
1671 Compile whole compilation unit at a time
1674 Common Report Var(flag_unroll_loops) Optimization
1675 Perform loop unrolling when iteration count is known
1678 Common Report Var(flag_unroll_all_loops) Optimization
1679 Perform loop unrolling for all loops
1681 ; Nonzero means that loop optimizer may assume that the induction variables
1682 ; that control loops do not overflow and that the loops with nontrivial
1683 ; exit condition are not infinite
1684 funsafe-loop-optimizations
1685 Common Report Var(flag_unsafe_loop_optimizations) Optimization
1686 Allow loop optimizations to assume that the loops behave in normal way
1689 Common Report Var(flag_associative_math)
1690 Allow optimization for floating-point arithmetic which may change the
1691 result of the operation due to rounding.
1694 Common Report Var(flag_reciprocal_math)
1695 Same as -fassociative-math for expressions which include division.
1697 ; Nonzero means that unsafe floating-point math optimizations are allowed
1698 ; for the sake of speed. IEEE compliance is not guaranteed, and operations
1699 ; are allowed to assume that their arguments and results are "normal"
1700 ; (e.g., nonnegative for SQRT).
1701 funsafe-math-optimizations
1702 Common Report Var(flag_unsafe_math_optimizations) Optimization
1703 Allow math optimizations that may violate IEEE or ISO standards
1706 Common Report Var(flag_unswitch_loops) Optimization
1707 Perform loop unswitching
1710 Common Report Var(flag_unwind_tables) Optimization
1711 Just generate unwind tables for exception handling
1716 ; Positive if we should track variables, negative if we should run
1717 ; the var-tracking pass only to discard debug annotations, zero if
1718 ; we're not to run it. When flag_var_tracking == 2 (AUTODETECT_VALUE) it
1719 ; will be set according to optimize, debug_info_level and debug_hooks
1720 ; in process_options ().
1722 Common Report Var(flag_var_tracking) Init(2) Optimization
1723 Perform variable tracking
1725 ; Positive if we should track variables at assignments, negative if
1726 ; we should run the var-tracking pass only to discard debug
1727 ; annotations. When flag_var_tracking_assignments ==
1728 ; AUTODETECT_VALUE it will be set according to flag_var_tracking.
1729 fvar-tracking-assignments
1730 Common Report Var(flag_var_tracking_assignments) Init(2) Optimization
1731 Perform variable tracking by annotating assignments
1733 ; Nonzero if we should toggle flag_var_tracking_assignments after
1734 ; processing options and computing its default. */
1735 fvar-tracking-assignments-toggle
1736 Common Report Var(flag_var_tracking_assignments_toggle) Optimization
1737 Toggle -fvar-tracking-assignments
1739 fvar-tracking-uninit
1740 Common Report Var(flag_var_tracking_uninit) Optimization
1741 Perform variable tracking and also tag variables that are uninitialized
1744 Common Report Var(flag_tree_vectorize) Optimization
1745 Enable loop vectorization on trees
1748 Common Report Var(flag_tree_slp_vectorize) Init(2) Optimization
1749 Enable basic block vectorization (SLP) on trees
1752 Common Report Var(flag_vect_cost_model) Optimization
1753 Enable use of cost model in vectorization
1755 ftree-vect-loop-version
1756 Common Report Var(flag_tree_vect_loop_version) Init(1) Optimization
1757 Enable loop versioning when doing loop vectorization on trees
1759 ftree-vectorizer-verbose=
1760 Common RejectNegative Joined
1761 -ftree-vectorizer-verbose=<number> Set the verbosity level of the vectorizer
1764 Common Report Var(flag_tree_scev_cprop) Init(1) Optimization
1765 Enable copy propagation of scalar-evolution information.
1767 ; -fverbose-asm causes extra commentary information to be produced in
1768 ; the generated assembly code (to make it more readable). This option
1769 ; is generally only of use to those who actually need to read the
1770 ; generated assembly code (perhaps while debugging the compiler itself).
1771 ; -fno-verbose-asm, the default, causes the extra information
1772 ; to not be added and is useful when comparing two assembler files.
1774 Common Report Var(flag_verbose_asm)
1775 Add extra commentary to assembler output
1778 Common Joined RejectNegative
1779 -fvisibility=[default|internal|hidden|protected] Set the default symbol visibility
1783 Common Report Var(flag_value_profile_transformations) Optimization
1784 Use expression value profiles in optimizations
1787 Common Report Var(flag_web) Init(2) Optimization
1788 Construct webs and split unrelated uses of single variable
1792 Enable partitioned link-time optimization
1795 Common RejectNegative Joined Var(flag_whopr)
1796 Partitioned link-time optimization with number of parallel jobs or jobserver.
1798 ftree-builtin-call-dce
1799 Common Report Var(flag_tree_builtin_call_dce) Init(0) Optimization
1800 Enable conditional dead code elimination for builtin calls
1803 Common Report Var(flag_whole_program) Init(0) Optimization
1804 Perform whole program optimizations
1807 Common Report Var(flag_wrapv) Optimization
1808 Assume signed arithmetic overflow wraps around
1810 fzero-initialized-in-bss
1811 Common Report Var(flag_zero_initialized_in_bss) Init(1)
1812 Put zero initialized data in the bss section
1815 Common JoinedOrMissing
1816 Generate debug information in default format
1819 Common JoinedOrMissing Negative(gdwarf-)
1820 Generate debug information in COFF format
1823 Common Joined UInteger Var(dwarf_version) Init(2) Negative(gstabs)
1824 Generate debug information in DWARF v2 (or later) format
1827 Common JoinedOrMissing
1828 Generate debug information in default extended format
1831 Common JoinedOrMissing Negative(gstabs+)
1832 Generate debug information in STABS format
1835 Common JoinedOrMissing Negative(gvms)
1836 Generate debug information in extended STABS format
1839 Common RejectNegative Var(dwarf_strict,0) Init(-1)
1840 Emit DWARF additions beyond selected version
1843 Common Report RejectNegative Var(dwarf_strict,1)
1844 Don't emit DWARF additions beyond selected version
1847 Common Report Var(flag_gtoggle)
1848 Toggle debug information generation
1851 Common JoinedOrMissing Negative(gxcoff)
1852 Generate debug information in VMS format
1855 Common JoinedOrMissing Negative(gxcoff+)
1856 Generate debug information in XCOFF format
1859 Common JoinedOrMissing Negative(gcoff)
1860 Generate debug information in extended XCOFF format
1863 Common Joined Var(plugindir_string) Init(0)
1864 -iplugindir=<dir> Set <dir> to be the default plugin directory
1867 Driver Joined Separate
1869 no-canonical-prefixes
1879 Common Driver Joined Separate MissingArgError(missing filename after %qs)
1880 -o <file> Place output into <file>
1883 Common Var(profile_flag)
1884 Enable function profiling
1887 Driver Var(pass_exit_codes)
1890 Common Var(pedantic)
1891 Issue warnings needed for strict compliance to the standard
1895 Like -pedantic but issue them as errors
1901 Driver Var(use_pipes)
1904 Driver JoinedOrMissing Var(print_file_name)
1906 print-libgcc-file-name
1909 print-multi-directory
1910 Driver Var(print_multi_directory)
1913 Driver Var(print_multi_lib)
1915 print-multi-os-directory
1916 Driver Var(print_multi_os_directory)
1919 Driver JoinedOrMissing Var(print_prog_name)
1922 Driver Var(print_search_dirs)
1925 Driver Var(print_sysroot)
1927 print-sysroot-headers-suffix
1928 Driver Var(print_sysroot_headers_suffix)
1931 Common Var(quiet_flag) RejectDriver
1932 Do not display functions compiled or elapsed time
1941 Driver Var(report_times)
1944 Driver JoinedOrMissing
1947 Driver Joined Separate
1951 ; C option, but driver must not handle as "-u ndef".
1957 Common Var(version_flag) RejectDriver
1958 Display the compiler's version
1961 Common Var(inhibit_warnings)
1965 Driver Separate Var(wrapper_string)
1968 Driver Joined Separate
1971 Common RejectNegative Negative(pie)
1972 Create a shared library
1978 Driver Separate Alias(specs=)
1991 ; Documented for Fortran, but always accepted by driver.
2000 Common RejectNegative Negative(shared)
2001 Create a position independent executable
2003 ; This comment is to ensure we retain the blank line above.