; Options for the language- and target-independent parts of the compiler.
-; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
; the terms of the GNU General Public License as published by the Free
; Software Foundation; either version 2, or (at your option) any later
; version.
-;
+;
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
; WARRANTY; without even the implied warranty of MERCHANTABILITY or
; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
; for more details.
-;
+;
; You should have received a copy of the GNU General Public License
; along with GCC; see the file COPYING. If not, write to the Free
-; Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-; 02111-1307, USA.
+; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+; 02110-1301, USA.
-; See c.opt for a description of this file's format.
+; See the GCC internals manual for a description of this file's format.
; Please try to keep this file in ASCII collating order.
Common Var(warn_aggregate_return)
Warn about returning structures, unions or arrays
+Walways-true
+Common Var(warn_always_true)
+Warn about comparisons that always evaluate to true
+
+Wattributes
+Common Var(warn_attributes) Init(1)
+Warn about inappropriate attribute usage
+
Wcast-align
Common Var(warn_cast_align)
Warn about pointer casts which increase alignment
Common Var(warnings_are_errors)
Treat all warnings as errors
+Werror=
+Common Joined
+Treat specified warning as error
+
Wextra
Common
Print extra (possibly unwanted) warnings
Common RejectNegative Joined UInteger
-Wlarger-than-<number> Warn if an object is larger than <number> bytes
+Wunsafe-loop-optimizations
+Common Var(warn_unsafe_loop_optimizations)
+Warn if the loop cannot be optimized due to nontrivial assumptions.
+
Wmissing-noreturn
Common Var(warn_missing_noreturn)
Warn about functions which might be candidates for __attribute__((noreturn))
+Woverflow
+Common Var(warn_overflow) Init(1)
+Warn about overflow in arithmetic expressions
+
Wpacked
Common Var(warn_packed)
Warn when the packed attribute has no effect on struct layout
Common Var(warn_shadow)
Warn when one local variable shadows another
+Wstack-protector
+Common Var(warn_stack_protect)
+Warn when not issuing stack smashing protection for some reason
+
Wstrict-aliasing
Common
Warn about code which might break strict aliasing rules
Common Joined UInteger
Warn about code which might break strict aliasing rules
+Wstring-literal-comparison
+Common Var(warn_string_literal_comparison)
+Warn about comparisons to constant string literals
+
Wswitch
Common Var(warn_switch)
Warn about enumerated switches, with no default, missing a case
Common Var(warn_unused_variable)
Warn when a variable is unused
+Wvolatile-register-var
+Common Var(warn_register_var)
+Warn when a register variable is declared volatile
+
aux-info
Common Separate
-aux-info <file> Emit declaration information into <file>
; 1 if pointer arguments may not alias each other but may alias
; global variables.
; 2 if pointer arguments may not alias each other and may not
-; alias global variables. True in Fortran.
-; The value is ignored if flag_alias_check is 0.
+; alias global variables.
+; 3 if pointer arguments may not alias anything. True in Fortran.
+; Set by the front end.
fargument-alias
Common Report Var(flag_argument_noalias,0)
Specify that arguments may alias each other and globals
Common Report Var(flag_argument_noalias,2) VarExists
Assume arguments alias neither each other nor globals
+fargument-noalias-anything
+Common Report Var(flag_argument_noalias,3) VarExists
+Assume arguments alias no other storage
+
fasynchronous-unwind-tables
Common Report Var(flag_asynchronous_unwind_tables)
Generate unwind tables that are exact at each instruction boundary
Common Joined RejectNegative
-fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics
+fdiagnostics-show-option
+Common
+Amend appropriate diagnostic messages with the command line option that controls them
+
fdump-
Common Joined RejectNegative
-fdump-<type> Dump various compiler internals to a file
Common Report Var(flag_dump_unnumbered) VarExists
Suppress output of instruction numbers and line number notes in debugging dumps
+fearly-inlining
+Common Report Var(flag_early_inlining) Init(1)
+Perform early inlining
+
feliminate-dwarf2-dups
Common Report Var(flag_eliminate_dwarf2_dups)
Perform DWARF2 duplicate elimination
Common Report Var(flag_eliminate_unused_debug_types) Init(1)
Perform unused type elimination in debug info
+femit-class-debug-always
+Common Report Var(flag_emit_class_debug_always) Init(1)
+Do not suppress C++ class debug information.
+
fexceptions
Common Report Var(flag_exceptions)
Enable exception handling
fgcse-after-reload
Common Report Var(flag_gcse_after_reload)
Perform global common subexpression elimination after register allocation
-has finished.
+has finished
fguess-branch-probability
Common Report Var(flag_guess_branch_prob)
Common Report Var(flag_inline_functions)
Integrate simple functions into their callers
+finline-functions-called-once
+Common Report Var(flag_inline_functions_called_once) Init(1)
+Integrate functions called once into their callers
+
finline-limit-
Common RejectNegative Joined UInteger
Common Report Var(flag_instrument_function_entry_exit)
Instrument function entry and exit with profiling calls
+fipa-cp
+Common Report Var(flag_ipa_cp)
+Perform Interprocedural constant propagation
+
+fipa-pure-const
+Common Report Var(flag_ipa_pure_const) Init(0)
+Discover pure and const functions
+
+fipa-pta
+Common Report Var(flag_ipa_pta) Init(0)
+Perform interprocedural points-to analysis
+
+fipa-reference
+Common Report Var(flag_ipa_reference) Init(0)
+Discover readonly and non addressable static variables
+
+fipa-type-escape
+Common Report Var(flag_ipa_type_escape) Init(0)
+Type based escape and alias analysis
+
fivopts
Common Report Var(flag_ivopts) Init(1)
Optimize induction variables on trees
+fjump-tables
+Common Var(flag_jump_tables) Init(1)
+Use jump tables for sufficiently large switch statements
+
fkeep-inline-functions
Common Report Var(flag_keep_inline_functions)
Generate code for functions even if they are fully inlined
Give external symbols a leading underscore
floop-optimize
-Common Report Var(flag_loop_optimize)
-Perform loop optimizations
-
-floop-optimize2
-Common Report Var(flag_loop_optimize2)
-Perform loop optimizations using the new loop optimizer
+Common
+Does nothing. Preserved for backward compatibility.
fmath-errno
Common Report Var(flag_errno_math) Init(1)
Perform SMS based modulo scheduling before the first scheduling pass
fmove-loop-invariants
-Common Report Var(flag_move_loop_invariants)
+Common Report Var(flag_move_loop_invariants) Init(1)
Move loop invariant computations out of loops
fmudflap
Common RejectNegative Report Var(flag_mudflap)
-Add mudflap bounds-checking instrumentation for single-threaded program.
+Add mudflap bounds-checking instrumentation for single-threaded program
fmudflapth
-Common RejectNegative Report Var(flag_mudflap_threads)
-Add mudflap bounds-checking instrumentation for multi-threaded program.
+Common RejectNegative Report VarExists Var(flag_mudflap,2)
+Add mudflap bounds-checking instrumentation for multi-threaded program
fmudflapir
Common RejectNegative Report Var(flag_mudflap_ignore_reads)
-Ignore read operations when inserting mudflap instrumentation.
+Ignore read operations when inserting mudflap instrumentation
freschedule-modulo-scheduled-loops
Common Report Var(flag_resched_modulo_sched)
Enables a register move optimization
frename-registers
-Common Report Var(flag_rename_registers)
+Common Report Var(flag_rename_registers) Init(2)
Perform a register renaming optimization pass
freorder-blocks
Reorder functions to improve code placement
frerun-cse-after-loop
-Common Report Var(flag_rerun_cse_after_loop)
+Common Report Var(flag_rerun_cse_after_loop) Init(2)
Add a common subexpression elimination pass after loop optimizations
frerun-loop-opt
-Common Report Var(flag_rerun_loop_opt)
-Run the loop optimizer twice
+Common
+Does nothing. Preserved for backward compatibility.
frounding-math
Common Report Var(flag_rounding_math)
Allow premature scheduling of queued insns
fsched-stalled-insns=
-Common RejectNegative Joined UInteger
--fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled
+Common RejectNegative Joined UInteger
+-fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled
; sched_stalled_insns_dep controls how many recently scheduled cycles will
; be examined for a dependency on a stalled insn that is candidate for
fsched-stalled-insns-dep=
Common RejectNegative Joined UInteger
--fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns
+-fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns
-fshared-data
-Common Report Var(flag_shared_data)
-Mark data as shared rather than private
+fsection-anchors
+Common Report Var(flag_section_anchors)
+Access data in the same section from shared anchor points
+
+frtl-abstract-sequences
+Common Report Var(flag_rtl_seqabstr)
+Perform sequence abstraction optimization on RTL
+
+fsee
+Common Report Var(flag_see) Init(0)
+Eliminate redundant sign extensions using LCM.
+
+fshow-column
+Common C ObjC C++ ObjC++ Report Var(flag_show_column) Init(1)
+Show column numbers in diagnostics, when available. Default on
fsignaling-nans
Common Report Var(flag_signaling_nans)
Common Report Var(flag_single_precision_constant)
Convert floating point constants to single precision constants
-fspeculative-prefetching
-Common Report Var(flag_speculative_prefetching)
-Use value profiling for speculative prefetching
-
fsplit-ivs-in-unroller
Common Report Var(flag_split_ivs_in_unroller) Init(1)
-Split lifetimes of induction variables when loops are unrolled.
+Split lifetimes of induction variables when loops are unrolled
fvariable-expansion-in-unroller
-Common Report Var(flag_variable_expansion_in_unroller)
-Apply variable expansion when loops are unrolled.
+Common Report Var(flag_variable_expansion_in_unroller)
+Apply variable expansion when loops are unrolled
; Emit code to probe the stack, to help detect stack overflow; also
; may cause large objects to be allocated dynamically.
Common RejectNegative Joined
-fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>
+fstack-protector
+Common Report Var(flag_stack_protect, 1)
+Use propolice as a stack protection method
+
+fstack-protector-all
+Common Report RejectNegative Var(flag_stack_protect, 2) VarExists
+Use a stack protection method for every function
+
fstrength-reduce
-Common Report Var(flag_strength_reduce)
-Perform strength reduction optimizations
+Common
+Does nothing. Preserved for backward compatibility.
; Nonzero if we should do (language-dependent) alias analysis.
; Typically, this analysis will assume that expressions of certain
Common Joined RejectNegative
-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model
+ftoplevel-reorder
+Common Report Var(flag_toplevel_reorder) Init(1)
+Reorder top level functions, variables, and asms
+
ftracer
Common Report Var(flag_tracer)
Perform superblock formation via tail duplication
Common Report Var(flag_trapv)
Trap for signed overflow in addition, subtraction and multiplication
-ftree-based-profiling
-Common Report Var(flag_tree_based_profiling)
-Use tree-ssa based implementation of profiling
-
ftree-ccp
Common Report Var(flag_tree_ccp)
Enable SSA-CCP optimization on trees
+ftree-store-ccp
+Common Report Var(flag_tree_store_ccp)
+Enable SSA-CCP optimization for stores and loads
+
ftree-ch
Common Report Var(flag_tree_ch)
Enable loop header copying on trees
ftree-copyrename
Common Report Var(flag_tree_copyrename)
-Replace SSA temporaries with better names in copies.
+Replace SSA temporaries with better names in copies
+
+ftree-copy-prop
+Common Report Var(flag_tree_copy_prop)
+Enable copy propagation on trees
+
+ftree-store-copy-prop
+Common Report Var(flag_tree_store_copy_prop)
+Enable copy propagation for stores and loads
ftree-dce
Common Report Var(flag_tree_dce)
Common Report Var(flag_tree_pre)
Enable SSA-PRE optimization on trees
+ftree-salias
+Common Report Var(flag_tree_salias)
+Perform structural alias analysis
+
+ftree-sink
+Common Report Var(flag_tree_sink)
+Enable SSA code sinking on trees
+
ftree-sra
Common Report Var(flag_tree_sra)
Perform scalar replacement of aggregates
ftree-lrs
Common Report Var(flag_tree_live_range_split)
-Perform live range splitting during the SSA->normal pass.
+Perform live range splitting during the SSA->normal pass
+
+ftree-vrp
+Common Report Var(flag_tree_vrp) Init(0)
+Perform Value Range Propagation on trees
funit-at-a-time
Common Report Var(flag_unit_at_a_time)
Common Report Var(flag_unroll_all_loops)
Perform loop unrolling for all loops
+; Nonzero means that loop optimizer may assume that the induction variables
+; that control loops do not overflow and that the loops with nontrivial
+; exit condition are not infinite
+funsafe-loop-optimizations
+Common Report Var(flag_unsafe_loop_optimizations)
+Allow loop optimizations to assume that the loops behave in normal way
+
; Nonzero means that unsafe floating-point math optimizations are allowed
; for the sake of speed. IEEE compliance is not guaranteed, and operations
; are allowed to assume that their arguments and results are "normal"
Common Report Var(flag_tree_vectorize)
Enable loop vectorization on trees
+ftree-vect-loop-version
+Common Report Var(flag_tree_vect_loop_version) Init(1)
+Enable loop versioning when doing loop vectorization on trees
+
ftree-vectorizer-verbose=
Common RejectNegative Joined
--ftree-vectorizer-verbose=<number> Set the verbosity level of the vectorizer
+-ftree-vectorizer-verbose=<number> Set the verbosity level of the vectorizer
; -fverbose-asm causes extra commentary information to be produced in
; the generated assembly code (to make it more readable). This option
Use expression value profiles in optimizations
fweb
-Common Report Var(flag_web) Init(0)
+Common Report Var(flag_web) Init(2)
Construct webs and split unrelated uses of single variable
+fwhole-program
+Common Report Var(flag_whole_program) Init(0)
+Perform whole program optimizations
+
fwrapv
Common Report Var(flag_wrapv)
Assume signed arithmetic overflow wraps around
Generate debug information in default format
gcoff
-Common JoinedOrMissing
+Common JoinedOrMissing Negative(gdwarf-2)
Generate debug information in COFF format
gdwarf-2
-Common JoinedOrMissing
+Common JoinedOrMissing Negative(gstabs)
Generate debug information in DWARF v2 format
ggdb
Generate debug information in default extended format
gstabs
-Common JoinedOrMissing
+Common JoinedOrMissing Negative(gstabs+)
Generate debug information in STABS format
gstabs+
-Common JoinedOrMissing
+Common JoinedOrMissing Negative(gvms)
Generate debug information in extended STABS format
gvms
-Common JoinedOrMissing
+Common JoinedOrMissing Negative(gxcoff)
Generate debug information in VMS format
gxcoff
-Common JoinedOrMissing
+Common JoinedOrMissing Negative(gxcoff+)
Generate debug information in XCOFF format
gxcoff+
-Common JoinedOrMissing
+Common JoinedOrMissing Negative(gcoff)
Generate debug information in extended XCOFF format
-m
-Common Joined
-
o
Common Joined Separate
-o <file> Place output into <file>