; Options for the language- and target-independent parts of the compiler.
-; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+; Copyright (C) 2003, 2004, 2005, 2006, 2007 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, 51 Franklin Street, Fifth Floor, Boston, MA
Common Var(warn_always_true)
Warn about comparisons that always evaluate to true
+Warray-bounds
+Common Var(warn_array_bounds)
+Warn if an array is accessed out of bounds
+
Wattributes
Common Var(warn_attributes) Init(1)
Warn about inappropriate attribute usage
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_register_var)
Warn when a register variable is declared volatile
+Wcoverage-mismatch
+Common RejectNegative Var(warn_coverage_mismatch)
+Warn instead of error in case profiles in -fprofile-use do not match
+
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.
+; 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
-fdump-<type> Dump various compiler internals to a file
+fdump-noaddr
+Common Report Var(flag_dump_noaddr)
+Suppress output of addresses in debugging dumps
+
fdump-unnumbered
Common Report Var(flag_dump_unnumbered) VarExists
-Suppress output of instruction numbers and line number notes in debugging dumps
+Suppress output of instruction numbers, line number notes and addresses in debugging dumps
fearly-inlining
Common Report Var(flag_early_inlining) Init(1)
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
Common Report Var(flag_force_addr)
Copy memory address constants into registers before use
-; Nonzero for -fforce-mem: load memory value into a register
-; before arithmetic on it. This makes better cse but slower compilation.
-fforce-mem
-Common Report Var(flag_force_mem)
-Copy memory operands into registers before use
+fforward-propagate
+Common Report Var(flag_forward_propagate)
+Perform a forward propagation pass on RTL
; Nonzero means don't put addresses of constant functions in registers.
; Used for compiling the Unix kernel, where strange substitutions are
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
Give external symbols a leading underscore
floop-optimize
-Common Report Var(flag_loop_optimize)
-Perform loop optimizations
+Common
+Does nothing. Preserved for backward compatibility.
fmath-errno
Common Report Var(flag_errno_math) Init(1)
Add mudflap bounds-checking instrumentation for single-threaded program
fmudflapth
-Common RejectNegative Report Var(flag_mudflap_threads)
+Common RejectNegative Report VarExists Var(flag_mudflap,2)
Add mudflap bounds-checking instrumentation for multi-threaded program
fmudflapir
Common Report Var(flag_optimize_sibling_calls)
Optimize sibling and tail recursive calls
+fpre-ipa-mem-report
+Common Report Var(pre_ipa_mem_report)
+Report on memory allocation before interprocedural optimization
+
+fpost-ipa-mem-report
+Common Report Var(post_ipa_mem_report)
+Report on memory allocation before interprocedural optimization
+
fpack-struct
Common Report Var(flag_pack_struct)
Pack structure members together without holes
Common Joined RejectNegative
-frandom-seed=<string> Make compile reproducible using <string>
+; This switch causes the command line that was used to create an
+; object file to be recorded into the object file. The exact format
+; of this recording is target and binary file format dependent.
+; It is related to the -fverbose-asm switch, but that switch only
+; records information in the assembler output file as comments, so
+; they never reach the object file.
+frecord-gcc-switches
+Common Report Var(flag_record_gcc_switches)
+Record gcc command line switches in the object file.
+
freg-struct-return
Common Report Var(flag_pcc_struct_return,0) VarExists
Return small aggregates in registers
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
+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
Common RejectNegative Joined UInteger
-fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns
+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
-fshared-data
-Common Report Var(flag_shared_data)
-Mark data as shared rather than private
+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)
Common Report Var(flag_signaling_nans)
Disable optimizations observable by IEEE signaling NaNs
+fsigned-zeros
+Common Report Var(flag_signed_zeros) Init(1)
+Disable floating point optimizations that ignore the IEEE signedness of zero
+
fsingle-precision-constant
Common Report Var(flag_single_precision_constant)
Convert floating point constants to single precision constants
Common Report Var(flag_split_ivs_in_unroller) Init(1)
Split lifetimes of induction variables when loops are unrolled
+fsplit-wide-types
+Common Report Var(flag_split_wide_types)
+Split wide types into independent registers
+
fvariable-expansion-in-unroller
-Common Report Var(flag_variable_expansion_in_unroller)
+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
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 Report Var(flag_strict_aliasing)
Assume strict aliasing rules apply
+fstrict-overflow
+Common Report Var(flag_strict_overflow)
+Treat signed overflow as undefined
+
fsyntax-only
Common Report Var(flag_syntax_only)
Check for syntax errors, then stop
Common Report Var(flag_tree_ch)
Enable loop header copying on trees
-ftree-combine-temps
-Common Report Var(flag_tree_combine_temps)
-Coalesce memory temporaries in the SSA->normal pass
-
ftree-copyrename
Common Report Var(flag_tree_copyrename)
Replace SSA temporaries with better names in copies
Common Report Var(flag_tree_ter)
Replace temporary expressions in the SSA->normal pass
-ftree-lrs
-Common Report Var(flag_tree_live_range_split)
-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
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
o