; Options for the language- and target-independent parts of the compiler.
-; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
; Free Software Foundation, Inc.
;
; This file is part of GCC.
Variable
int optimize_size
+; Not used directly to control optimizations, only to save -Ofast
+; setting for "optimize" attributes.
+Variable
+int optimize_fast
+
+; True if this is the lto front end. This is used to disable gimple
+; generation and lowering passes that are normally run on the output
+; of a front end. These passes must be bypassed for lto since they
+; have already been done before the gimple was written.
+Variable
+bool in_lto_p = false
+
; 0 means straightforward implementation of complex divide acceptable.
; 1 means wide ranges of inputs must work for complex divide.
; 2 means C99-like requirements for complex multiply and divide.
Variable
enum stack_check_type flag_stack_check = NO_STACK_CHECK
+; True if stack usage information needs to be computed.
+Variable
+bool flag_stack_usage_info = false
+
; -dA causes debug commentary information to be produced in
; the generated assembly code (to make it more readable). This option
; is generally only of use to those who actually need to read the
L
Driver Joined Separate
+N
+Driver
+
O
Common JoinedOrMissing Optimization
-O<number> Set optimization level to <number>
Common Optimization
Optimize for speed disregarding exact standards compliance
+Q
+Driver
+
+Qn
+Driver Negative(Qy)
+
+Qy
+Driver Negative(Qn)
+
R
Driver Joined Separate
Tbss
Driver Separate
+Tbss=
+Driver Joined
+
Tdata
Driver Separate
+Tdata=
+Driver Joined
+
Ttext
Driver Separate
+Ttext=
+Driver Joined
+
W
Common RejectNegative Warning Alias(Wextra)
This switch is deprecated; use -Wextra instead
Common RejectNegative Joined UInteger
-Wframe-larger-than=<number> Warn if a function's stack frame requires more than <number> bytes
+Wfree-nonheap-object
+Common Var(warn_free_nonheap_object) Init(1) Warning
+Warn when attempting to free a non-heap object
+
Winline
Common Var(warn_inline) Warning
Warn when an inlined function cannot be inlined
Common Var(warn_stack_protect) Warning
Warn when not issuing stack smashing protection for some reason
+Wstack-usage=
+Common Joined RejectNegative UInteger Var(warn_stack_usage) Init(-1) Warning
+Warn if stack usage might be larger than specified amount
+
Wstrict-aliasing
Common Warning
Warn about code which might break strict aliasing rules
Common Var(warn_uninitialized) Init(-1) Warning
Warn about uninitialized automatic variables
+Wmaybe-uninitialized
+Common Var(warn_maybe_uninitialized) Warning
+Warn about maybe uninitialized automatic variables
+
Wunreachable-code
Common Ignore
Does nothing. Preserved for backward compatibility.
Common Var(warn_coverage_mismatch) Init(1) Warning
Warn in case profiles in -fprofile-use do not match
+Wvector-operation-performance
+Common Var(warn_vector_operation_performance) Warning
+Warn when a vector operation is compiled outside the SIMD
+
Xassembler
Driver Separate
Xpreprocessor
Driver Separate
+Z
+Driver
+
aux-info
Common Separate Var(aux_info_file_name)
-aux-info <file> Emit declaration information into <file>
e
Driver Joined Separate
+; This option has historically been passed down to the linker by an
+; accident of a %{e*} spec, so ensure it continues to be passed down
+; as a single option. The supported option for this purpose is
+; -rdynamic. See PR 47390.
+export-dynamic
+Driver Undocumented
+
; The version of the C++ ABI in use. The following values are allowed:
;
; 0: The version of the ABI believed most conformant with the C++ ABI
; in template non-type arguments of pointer type.
;
; 4: The version of the ABI that introduces unambiguous mangling of
-; vector types.
+; vector types. First selectable in G++ 4.5.
+;
+; 5: The version of the ABI that ignores attribute const/noreturn
+; in function pointer mangling, and corrects mangling of decltype and
+; function parameters used in other parameters and the return type.
+; First selectable in G++ 4.6.
+;
+; 6: The version of the ABI that doesn't promote scoped enums to int.
+; First selectable in G++ 4.7.
;
; Additional positive integers will be assigned as new versions of
; the ABI become the default version of the ABI.
Common Driver RejectNegative Var(flag_compare_debug)
Run only the second compilation of -fcompare-debug
+fcompare-elim
+Common Report Var(flag_compare_elim_after_reload) Optimization
+Perform comparison elimination after register allocation has finished
+
fconserve-stack
Common Var(flag_conserve_stack) Optimization
Do not perform optimizations increasing noticeably stack usage
Does nothing. Preserved for backward compatibility.
fcx-limited-range
-Common Report Var(flag_cx_limited_range) Optimization
+Common Report Var(flag_cx_limited_range) Optimization SetByCombined
Omit range reduction step when performing complex division
fcx-fortran-rules
Common Joined RejectNegative Var(common_deferred_options) Defer
Map one directory name to another in debug information
+fdebug-types-section
+Common Report Var(flag_debug_types_section) Init(1)
+Output .debug_types section when using DWARF v4 debuginfo.
+
; Nonzero for -fdefer-pop: don't pop args after each function call
; instead save them up to pop many calls' args with one insns.
fdefer-pop
Common Report Var(flag_delete_null_pointer_checks) Init(1) Optimization
Delete useless null pointer checks
+fdevirtualize
+Common Report Var(flag_devirtualize) Optimization
+Try to convert virtual calls to direct ones.
+
fdiagnostics-show-location=
Common Joined RejectNegative Enum(diagnostic_prefixing_rule)
-fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics
Common Var(flag_diagnostics_show_option) Init(1)
Amend appropriate diagnostic messages with the command line option that controls them
+fdisable-
+Common Joined RejectNegative Var(common_deferred_options) Defer
+-fdisable-[tree|rtl|ipa]-<pass>=range1+range2 disables an optimization pass
+
+fenable-
+Common Joined RejectNegative Var(common_deferred_options) Defer
+-fenable-[tree|rtl|ipa]-<pass>=range1+range2 enables an optimization pass
+
fdump-
Common Joined RejectNegative Var(common_deferred_options) Defer
-fdump-<type> Dump various compiler internals to a file
Common Report Var(flag_dump_noaddr)
Suppress output of addresses in debugging dumps
+fdump-passes
+Common Var(flag_dump_passes) Init(0)
+Dump optimization passes
+
fdump-unnumbered
Common Report Var(flag_dump_unnumbered)
Suppress output of instruction numbers, line number notes and addresses in debugging dumps
Common Report Var(flag_emit_class_debug_always) Init(0)
Do not suppress C++ class debug information.
-fenable-icf-debug
-Common Report Var(flag_enable_icf_debug)
-Generate debug information to support Identical Code Folding (ICF)
-
fexceptions
Common Report Var(flag_exceptions) Optimization
Enable exception handling
ffast-math
Common
+ffat-lto-objects
+Common Var(flag_fat_lto_objects) Init(1)
+Output lto objects containing both the intermediate language and binary output.
+
ffinite-math-only
-Common Report Var(flag_finite_math_only) Optimization
+Common Report Var(flag_finite_math_only) Optimization SetByCombined
Assume no NaNs or infinities are generated
ffixed-
Integrate simple functions into their callers
finline-functions-called-once
-Common Report Var(flag_inline_functions_called_once) Init(1) Optimization
+Common Report Var(flag_inline_functions_called_once) Optimization
Integrate functions called once into their callers
finline-limit-
on profiling information.
fipa-struct-reorg
-Common Report Var(flag_ipa_struct_reorg)
-Perform structure layout optimizations based
-on profiling information.
+Common Ignore
+Does nothing. Preserved for backward compatibility.
fira-algorithm=
Common Joined RejectNegative Enum(ira_algorithm) Var(flag_ira_algorithm) Init(IRA_ALGORITHM_CB)
Report various link-time optimization statistics
fmath-errno
-Common Report Var(flag_errno_math) Init(1) Optimization
+Common Report Var(flag_errno_math) Init(1) Optimization SetByCombined
Set errno after built-in math functions
fmax-errors=
Does nothing. Preserved for backward compatibility.
frounding-math
-Common Report Var(flag_rounding_math) Optimization
+Common Report Var(flag_rounding_math) Optimization SetByCombined
Disable optimizations that assume default FP rounding behavior
fsched-interblock
Common Report Var(flag_show_column) Init(1)
Show column numbers in diagnostics, when available. Default on
+fshrink-wrap
+Common Report Var(flag_shrink_wrap) Optimization
+Emit function prologues only before parts of the function that need it,
+rather than at the top of the function.
+
fsignaling-nans
-Common Report Var(flag_signaling_nans) Optimization
+Common Report Var(flag_signaling_nans) Optimization SetByCombined
Disable optimizations observable by IEEE signaling NaNs
fsigned-zeros
-Common Report Var(flag_signed_zeros) Init(1) Optimization
+Common Report Var(flag_signed_zeros) Init(1) Optimization SetByCombined
Disable floating point optimizations that ignore the IEEE signedness of zero
fsingle-precision-constant
; (user-visible) trap. This is the case, for example, in nonstop
; IEEE 754 arithmetic.
ftrapping-math
-Common Report Var(flag_trapping_math) Init(1) Optimization
+Common Report Var(flag_trapping_math) Init(1) Optimization SetByCombined
Assume floating-point operations can trap
ftrapv
Common Report Var(flag_tree_dom) Optimization
Enable dominator optimizations
+ftree-tail-merge
+Common Report Var(flag_tree_tail_merge) Optimization
+Enable tail merging on trees
+
ftree-dse
Common Report Var(flag_tree_dse) Optimization
Enable dead store elimination
Common Report Var(flag_tree_fre) Optimization
Enable Full Redundancy Elimination (FRE) on trees
+foptimize-strlen
+Common Report Var(flag_optimize_strlen) Optimization
+Enable string length optimizations on trees
+
ftree-loop-distribution
Common Report Var(flag_tree_loop_distribution) Optimization
Enable loop distribution on trees
Enable loop invariant motion on trees
ftree-loop-linear
-Common Report Var(flag_tree_loop_linear) Optimization
-Enable linear loop transforms on trees
+Common Alias(floop-interchange)
+Enable loop interchange transforms. Same as -floop-interchange
ftree-loop-ivcanon
Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization
Allow loop optimizations to assume that the loops behave in normal way
fassociative-math
-Common Report Var(flag_associative_math)
+Common Report Var(flag_associative_math) SetByCombined
Allow optimization for floating-point arithmetic which may change the
result of the operation due to rounding.
freciprocal-math
-Common Report Var(flag_reciprocal_math)
+Common Report Var(flag_reciprocal_math) SetByCombined
Same as -fassociative-math for expressions which include division.
; Nonzero means that unsafe floating-point math optimizations are allowed
; are allowed to assume that their arguments and results are "normal"
; (e.g., nonnegative for SQRT).
funsafe-math-optimizations
-Common Report Var(flag_unsafe_math_optimizations) Optimization
+Common Report Var(flag_unsafe_math_optimizations) Optimization SetByCombined
Allow math optimizations that may violate IEEE or ISO standards
funswitch-loops
Common JoinedOrMissing
Generate debug information in default extended format
+gno-record-gcc-switches
+Common RejectNegative Var(dwarf_record_gcc_switches,0) Init(0)
+Don't record gcc command line switches in DWARF DW_AT_producer.
+
+grecord-gcc-switches
+Common RejectNegative Var(dwarf_record_gcc_switches,1)
+Record gcc command line switches in DWARF DW_AT_producer.
+
gstabs
Common JoinedOrMissing Negative(gstabs+)
Generate debug information in STABS format
l
Driver Joined Separate
+n
+Driver
+
no-canonical-prefixes
Driver
nodefaultlibs
Driver
+nostartfiles
+Driver
+
nostdlib
Driver
Common Var(quiet_flag) RejectDriver
Do not display functions compiled or elapsed time
+r
+Driver
+
+s
+Driver
+
save-temps
Driver
save-temps=
Driver Joined
+t
+Driver
+
time
Driver Var(report_times)