mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-22 11:17:19 +00:00
809 lines
15 KiB
Plaintext
809 lines
15 KiB
Plaintext
; Options for the language- and target-independent parts of the compiler.
|
|
; Copyright (C) 2003 Free Software Foundation, Inc.
|
|
;
|
|
; This file is part of GCC.
|
|
;
|
|
; GCC is free software; you can redistribute it and/or modify it under
|
|
; 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.
|
|
|
|
; See c.opt for a description of this file's format.
|
|
|
|
; Please try to keep this file in ASCII collating order.
|
|
|
|
-help
|
|
Common
|
|
Display this information
|
|
|
|
-param
|
|
Common Separate
|
|
--param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters
|
|
|
|
-target-help
|
|
Common
|
|
|
|
-version
|
|
Common
|
|
|
|
G
|
|
Common Joined Separate UInteger
|
|
-G<number> Put global and static data smaller than <number> bytes into a special section (on some targets)
|
|
|
|
O
|
|
Common JoinedOrMissing
|
|
-O<number> Set optimization level to <number>
|
|
|
|
Os
|
|
Common
|
|
Optimize for space rather than speed
|
|
|
|
W
|
|
Common RejectNegative
|
|
This switch is deprecated; use -Wextra instead
|
|
|
|
Waggregate-return
|
|
Common
|
|
Warn about returning structures, unions or arrays
|
|
|
|
Wcast-align
|
|
Common
|
|
Warn about pointer casts which increase alignment
|
|
|
|
Wdeprecated-declarations
|
|
Common
|
|
Warn about uses of __attribute__((deprecated)) declarations
|
|
|
|
Wdisabled-optimization
|
|
Common
|
|
Warn when an optimization pass is disabled
|
|
|
|
Werror
|
|
Common
|
|
Treat all warnings as errors
|
|
|
|
Wextra
|
|
Common
|
|
Print extra (possibly unwanted) warnings
|
|
|
|
Winline
|
|
Common
|
|
Warn when an inlined function cannot be inlined
|
|
|
|
Wlarger-than-
|
|
Common RejectNegative Joined UInteger
|
|
-Wlarger-than-<number> Warn if an object is larger than <number> bytes
|
|
|
|
Wmissing-noreturn
|
|
Common
|
|
Warn about functions which might be candidates for __attribute__((noreturn))
|
|
|
|
Wpacked
|
|
Common
|
|
Warn when the packed attribute has no effect on struct layout
|
|
|
|
Wpadded
|
|
Common
|
|
Warn when padding is required to align structure members
|
|
|
|
Wshadow
|
|
Common
|
|
Warn when one local variable shadows another
|
|
|
|
Wstrict-aliasing
|
|
Common
|
|
Warn about code which might break strict aliasing rules
|
|
|
|
Wswitch
|
|
Common
|
|
Warn about enumerated switches, with no default, missing a case
|
|
|
|
Wswitch-default
|
|
Common
|
|
Warn about enumerated switches missing a \"default:\" statement
|
|
|
|
Wswitch-enum
|
|
Common
|
|
Warn about all enumerated switches missing a specific case
|
|
|
|
Wsystem-headers
|
|
Common
|
|
Do not suppress warnings from system headers
|
|
|
|
Wuninitialized
|
|
Common
|
|
Warn about uninitialized automatic variables
|
|
|
|
Wunreachable-code
|
|
Common
|
|
Warn about code that will never be executed
|
|
|
|
Wunused
|
|
Common
|
|
Enable all -Wunused- warnings
|
|
|
|
Wunused-function
|
|
Common
|
|
Warn when a function is unused
|
|
|
|
Wunused-label
|
|
Common
|
|
Warn when a label is unused
|
|
|
|
Wunused-parameter
|
|
Common
|
|
Warn when a function parameter is unused
|
|
|
|
Wunused-value
|
|
Common
|
|
Warn when an expression value is unused
|
|
|
|
Wunused-variable
|
|
Common
|
|
Warn when a variable is unused
|
|
|
|
aux-info
|
|
Common Separate
|
|
-aux-info <file> Emit declaration information into <file>
|
|
|
|
aux-info=
|
|
Common Joined
|
|
|
|
auxbase
|
|
Common Separate
|
|
|
|
auxbase-strip
|
|
Common Separate
|
|
|
|
d
|
|
Common Joined
|
|
-d<letters> Enable dumps from specific passes of the compiler
|
|
|
|
dumpbase
|
|
Common Separate
|
|
-dumpbase <file> Set the file basename to be used for dumps
|
|
|
|
fPIC
|
|
Common
|
|
|
|
fPIE
|
|
Common
|
|
|
|
fabi-version=
|
|
Common Joined UInteger
|
|
|
|
falign-functions
|
|
Common
|
|
Align the start of functions
|
|
|
|
falign-functions=
|
|
Common RejectNegative Joined UInteger
|
|
|
|
falign-jumps
|
|
Common
|
|
Align labels which are only reached by jumping
|
|
|
|
falign-jumps=
|
|
Common RejectNegative Joined UInteger
|
|
|
|
falign-labels
|
|
Common
|
|
Align all labels
|
|
|
|
falign-labels=
|
|
Common RejectNegative Joined UInteger
|
|
|
|
falign-loops
|
|
Common
|
|
Align the start of loops
|
|
|
|
falign-loops=
|
|
Common RejectNegative Joined UInteger
|
|
|
|
fargument-alias
|
|
Common
|
|
Specify that arguments may alias each other and globals
|
|
|
|
fargument-noalias
|
|
Common
|
|
Assume arguments may alias globals but not each other
|
|
|
|
fargument-noalias-global
|
|
Common
|
|
Assume arguments alias neither each other nor globals
|
|
|
|
fasynchronous-unwind-tables
|
|
Common
|
|
Generate unwind tables that are exact at each instruction boundary
|
|
|
|
fbounds-check
|
|
Common
|
|
Generate code to check bounds before indexing arrays
|
|
|
|
fbranch-count-reg
|
|
Common
|
|
Replace add, compare, branch with branch on count register
|
|
|
|
fbranch-probabilities
|
|
Common
|
|
Use profiling information for branch probabilities
|
|
|
|
fbranch-target-load-optimize
|
|
Common
|
|
Perform branch target load optimization before prologue / epilogue threading
|
|
|
|
fbranch-target-load-optimize2
|
|
Common
|
|
Perform branch target load optimization after prologue / epilogue threading
|
|
|
|
fcall-saved-
|
|
Common Joined RejectNegative
|
|
-fcall-saved-<register> Mark <register> as being preserved across functions
|
|
|
|
fcall-used-
|
|
Common Joined RejectNegative
|
|
-fcall-used-<register> Mark <register> as being corrupted by function calls
|
|
|
|
fcaller-saves
|
|
Common
|
|
Save registers around function calls
|
|
|
|
fcommon
|
|
Common
|
|
Do not put uninitialized globals in the common section
|
|
|
|
fcprop-registers
|
|
Common
|
|
Perform a register copy-propagation optimization pass
|
|
|
|
fcrossjumping
|
|
Common
|
|
Perform cross-jumping optimization
|
|
|
|
fcse-follow-jumps
|
|
Common
|
|
When running CSE, follow jumps to their targets
|
|
|
|
fcse-skip-blocks
|
|
Common
|
|
When running CSE, follow conditional jumps
|
|
|
|
fdata-sections
|
|
Common
|
|
Place data items into their own section
|
|
|
|
fdefer-pop
|
|
Common
|
|
Defer popping functions args from stack until later
|
|
|
|
fdelayed-branch
|
|
Common
|
|
Attempt to fill delay slots of branch instructions
|
|
|
|
fdelete-null-pointer-checks
|
|
Common
|
|
Delete useless null pointer checks
|
|
|
|
fdiagnostics-show-location=
|
|
Common Joined RejectNegative
|
|
-fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics
|
|
|
|
fdump-unnumbered
|
|
Common
|
|
Suppress output of instruction numbers and line number notes in debugging dumps
|
|
|
|
feliminate-dwarf2-dups
|
|
Common
|
|
Perform DWARF2 duplicate elimination
|
|
|
|
feliminate-unused-debug-symbols
|
|
Common
|
|
Perform unused type elimination in debug info
|
|
|
|
feliminate-unused-debug-types
|
|
Common
|
|
Perform unused type elimination in debug info
|
|
|
|
fexceptions
|
|
Common
|
|
Enable exception handling
|
|
|
|
fexpensive-optimizations
|
|
Common
|
|
Perform a number of minor, expensive optimizations
|
|
|
|
ffast-math
|
|
Common
|
|
|
|
ffinite-math-only
|
|
Common
|
|
Assume no NaNs or infinities are generated
|
|
|
|
ffixed-
|
|
Common Joined RejectNegative
|
|
-ffixed-<register> Mark <register> as being unavailable to the compiler
|
|
|
|
ffloat-store
|
|
Common
|
|
Do not store floats in registers
|
|
|
|
fforce-addr
|
|
Common
|
|
Copy memory address constants into registers before use
|
|
|
|
fforce-mem
|
|
Common
|
|
Copy memory operands into registers before use
|
|
|
|
ffunction-cse
|
|
Common
|
|
Allow function addresses to be held in registers
|
|
|
|
ffunction-sections
|
|
Common
|
|
Place each function into its own section
|
|
|
|
fgcse
|
|
Common
|
|
Perform global common subexpression elimination
|
|
|
|
fgcse-lm
|
|
Common
|
|
Perform enhanced load motion during global common subexpression elimination
|
|
|
|
fgcse-sm
|
|
Common
|
|
Perform store motion after global common subexpression elimination
|
|
|
|
fgcse-las
|
|
Common
|
|
Perform redundant load after store elimination in global common subexpression elimination
|
|
|
|
fguess-branch-probability
|
|
Common
|
|
Enable guessing of branch probabilities
|
|
|
|
fident
|
|
Common
|
|
Process #ident directives
|
|
|
|
fif-conversion
|
|
Common
|
|
Perform conversion of conditional jumps to branchless equivalents
|
|
|
|
fif-conversion2
|
|
Common
|
|
Perform conversion of conditional jumps to conditional execution
|
|
|
|
finhibit-size-directive
|
|
Common
|
|
Do not generate .size directives
|
|
|
|
finline
|
|
Common
|
|
Pay attention to the \"inline\" keyword
|
|
|
|
finline-functions
|
|
Common
|
|
Integrate simple functions into their callers
|
|
|
|
finline-limit-
|
|
Common RejectNegative Joined UInteger
|
|
|
|
finline-limit=
|
|
Common RejectNegative Joined UInteger
|
|
-finline-limit=<number> Limit the size of inlined functions to <number>
|
|
|
|
finstrument-functions
|
|
Common
|
|
Instrument function entry and exit with profiling calls
|
|
|
|
fkeep-inline-functions
|
|
Common
|
|
Generate code for functions even if they are fully inlined
|
|
|
|
fkeep-static-consts
|
|
Common
|
|
Emit static const variables even if they are not used
|
|
|
|
fleading-underscore
|
|
Common
|
|
Give external symbols a leading underscore
|
|
|
|
floop-optimize
|
|
Common
|
|
Perform loop optimizations
|
|
|
|
fmath-errno
|
|
Common
|
|
Set errno after built-in math functions
|
|
|
|
fmem-report
|
|
Common
|
|
Report on permanent memory allocation
|
|
|
|
fmerge-all-constants
|
|
Common
|
|
Attempt to merge identical constants and constant variables
|
|
|
|
fmerge-constants
|
|
Common
|
|
Attempt to merge identical constants across compilation units
|
|
|
|
fmessage-length=
|
|
Common RejectNegative Joined UInteger
|
|
-fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping
|
|
|
|
fmove-all-movables
|
|
Common
|
|
Force all loop invariant computations out of loops
|
|
|
|
fnew-ra
|
|
Common
|
|
Use graph-coloring register allocation
|
|
|
|
fnon-call-exceptions
|
|
Common
|
|
Support synchronous non-call exceptions
|
|
|
|
fold-unroll-loops
|
|
Common
|
|
Perform loop unrolling when iteration count is known
|
|
|
|
fold-unroll-all-loops
|
|
Common
|
|
Perform loop unrolling for all loops
|
|
|
|
fomit-frame-pointer
|
|
Common
|
|
When possible do not generate stack frames
|
|
|
|
foptimize-register-move
|
|
Common
|
|
Do the full register move optimization pass
|
|
|
|
foptimize-sibling-calls
|
|
Common
|
|
Optimize sibling and tail recursive calls
|
|
|
|
fpack-struct
|
|
Common
|
|
Pack structure members together without holes
|
|
|
|
fpcc-struct-return
|
|
Common
|
|
Return small aggregates in memory, not registers
|
|
|
|
fpeel-loops
|
|
Common
|
|
Perform loop peeling
|
|
|
|
fpeephole
|
|
Common
|
|
Enable machine specific peephole optimizations
|
|
|
|
fpeephole2
|
|
Common
|
|
Enable an RTL peephole pass before sched2
|
|
|
|
fpic
|
|
Common
|
|
Generate position-independent code if possible
|
|
|
|
fpie
|
|
Common
|
|
Generate position-independent code for executables if possible
|
|
|
|
fprefetch-loop-arrays
|
|
Common
|
|
Generate prefetch instructions, if available, for arrays in loops
|
|
|
|
fprofile
|
|
Common
|
|
Enable basic program profiling code
|
|
|
|
fprofile-arcs
|
|
Common
|
|
Insert arc-based program profiling code
|
|
|
|
fprofile-generate
|
|
Common
|
|
Enable common options for generating profile info for profile feedback directed optimizations
|
|
|
|
fprofile-use
|
|
Common
|
|
Enable common options for performing profile feedback directed optimizations
|
|
|
|
fprofile-values
|
|
Common
|
|
Insert code to profile values of expressions
|
|
|
|
frandom-seed
|
|
Common
|
|
|
|
frandom-seed=
|
|
Common Joined RejectNegative
|
|
-frandom-seed=<string> Make compile reproducible using <string>
|
|
|
|
freduce-all-givs
|
|
Common
|
|
Strength reduce all loop general induction variables
|
|
|
|
freg-struct-return
|
|
Common
|
|
Return small aggregates in registers
|
|
|
|
fregmove
|
|
Common
|
|
Enables a register move optimization
|
|
|
|
frename-registers
|
|
Common
|
|
Perform a register renaming optimization pass
|
|
|
|
freorder-blocks
|
|
Common
|
|
Reorder basic blocks to improve code placement
|
|
|
|
freorder-functions
|
|
Common
|
|
Reorder functions to improve code placement
|
|
|
|
frerun-cse-after-loop
|
|
Common
|
|
Add a common subexpression elimination pass after loop optimizations
|
|
|
|
frerun-loop-opt
|
|
Common
|
|
Run the loop optimizer twice
|
|
|
|
frounding-math
|
|
Common
|
|
Disable optimizations that assume default FP rounding behavior
|
|
|
|
fsched-interblock
|
|
Common
|
|
Enable scheduling across basic blocks
|
|
|
|
fsched-spec
|
|
Common
|
|
Allow speculative motion of non-loads
|
|
|
|
fsched-spec-load
|
|
Common
|
|
Allow speculative motion of some loads
|
|
|
|
fsched-spec-load-dangerous
|
|
Common
|
|
Allow speculative motion of more loads
|
|
|
|
fsched-verbose=
|
|
Common RejectNegative Joined
|
|
-fsched-verbose=<number> Set the verbosity level of the scheduler
|
|
|
|
fsched2-use-superblocks
|
|
Common
|
|
If scheduling post reload, do superblock scheduling
|
|
|
|
fsched2-use-traces
|
|
Common
|
|
If scheduling post reload, do trace scheduling
|
|
|
|
fschedule-insns
|
|
Common
|
|
Reschedule instructions before register allocation
|
|
|
|
fschedule-insns2
|
|
Common
|
|
Reschedule instructions after register allocation
|
|
|
|
fsched-stalled-insns
|
|
Common
|
|
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
|
|
|
|
fsched-stalled-insns-dep
|
|
Common
|
|
Set dependence distance checking in premature scheduling of queued insns
|
|
|
|
fsched-stalled-insns-dep=
|
|
Common RejectNegative Joined UInteger
|
|
-fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns
|
|
|
|
fshared-data
|
|
Common
|
|
Mark data as shared rather than private
|
|
|
|
fsignaling-nans
|
|
Common
|
|
Disable optimizations observable by IEEE signaling NaNs
|
|
|
|
fsingle-precision-constant
|
|
Common
|
|
Convert floating point constants to single precision constants
|
|
|
|
fstack-check
|
|
Common
|
|
Insert stack checking code into the program
|
|
|
|
fstack-limit
|
|
Common
|
|
|
|
fstack-limit-register=
|
|
Common RejectNegative Joined
|
|
-fstack-limit-register=<register> Trap if the stack goes past <register>
|
|
|
|
fstack-limit-symbol=
|
|
Common RejectNegative Joined
|
|
-fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>
|
|
|
|
fstrength-reduce
|
|
Common
|
|
Perform strength reduction optimizations
|
|
|
|
fstrict-aliasing
|
|
Common
|
|
Assume strict aliasing rules apply
|
|
|
|
fsyntax-only
|
|
Common
|
|
Check for syntax errors, then stop
|
|
|
|
ftest-coverage
|
|
Common
|
|
Create data files needed by \"gcov\"
|
|
|
|
fthread-jumps
|
|
Common
|
|
Perform jump threading optimizations
|
|
|
|
ftime-report
|
|
Common
|
|
Report the time taken by each compiler pass
|
|
|
|
ftls-model=
|
|
Common Joined RejectNegative
|
|
-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model
|
|
|
|
ftracer
|
|
Common
|
|
Perform superblock formation via tail duplication
|
|
|
|
ftrapping-math
|
|
Common
|
|
Assume floating-point operations can trap
|
|
|
|
ftrapv
|
|
Common
|
|
Trap for signed overflow in addition, subtraction and multiplication
|
|
|
|
funit-at-a-time
|
|
Common
|
|
Compile whole compilation unit at a time
|
|
|
|
funroll-loops
|
|
Common
|
|
Perform loop unrolling when iteration count is known
|
|
|
|
funroll-all-loops
|
|
Common
|
|
Perform loop unrolling for all loops
|
|
|
|
funsafe-math-optimizations
|
|
Common
|
|
Allow math optimizations that may violate IEEE or ISO standards
|
|
|
|
funswitch-loops
|
|
Common
|
|
Perform loop unswitching
|
|
|
|
funwind-tables
|
|
Common
|
|
Just generate unwind tables for exception handling
|
|
|
|
fverbose-asm
|
|
Common
|
|
Add extra commentary to assembler output
|
|
|
|
fvpt
|
|
Common
|
|
Use expression value profiles in optimizations
|
|
|
|
fweb
|
|
Common
|
|
Construct webs and split unrelated uses of single variable
|
|
|
|
fwrapv
|
|
Common
|
|
Assume signed arithmetic overflow wraps around
|
|
|
|
fwritable-strings
|
|
Common
|
|
Store strings in writable data section
|
|
|
|
fzero-initialized-in-bss
|
|
Common
|
|
Put zero initialized data in the bss section
|
|
|
|
g
|
|
Common JoinedOrMissing
|
|
Generate debug information in default format
|
|
|
|
gcoff
|
|
Common JoinedOrMissing
|
|
Generate debug information in COFF format
|
|
|
|
gdwarf-2
|
|
Common JoinedOrMissing
|
|
Generate debug information in DWARF v2 format
|
|
|
|
ggdb
|
|
Common JoinedOrMissing
|
|
Generate debug information in default extended format
|
|
|
|
gstabs
|
|
Common JoinedOrMissing
|
|
Generate debug information in STABS format
|
|
|
|
gstabs+
|
|
Common JoinedOrMissing
|
|
Generate debug information in extended STABS format
|
|
|
|
gvms
|
|
Common JoinedOrMissing
|
|
Generate debug information in VMS format
|
|
|
|
gxcoff
|
|
Common JoinedOrMissing
|
|
Generate debug information in XCOFF format
|
|
|
|
gxcoff+
|
|
Common JoinedOrMissing
|
|
Generate debug information in extended XCOFF format
|
|
|
|
m
|
|
Common Joined
|
|
|
|
o
|
|
Common Joined Separate
|
|
-o <file> Place output into <file>
|
|
|
|
p
|
|
Common
|
|
Enable function profiling
|
|
|
|
pedantic
|
|
Common
|
|
Issue warnings needed for strict compliance to the standard
|
|
|
|
pedantic-errors
|
|
Common
|
|
Like -pedantic but issue them as errors
|
|
|
|
quiet
|
|
Common
|
|
Do not display functions compiled or elapsed time
|
|
|
|
version
|
|
Common
|
|
Display the compiler's version
|
|
|
|
w
|
|
Common
|
|
Suppress warnings
|
|
|
|
; This comment is to ensure we retain the blank line above.
|