]> gcc.gnu.org Git - gcc.git/blame - gcc/common.opt
re PR tree-optimization/30904 (VRP does not track values of shifts and/or bitfields?)
[gcc.git] / gcc / common.opt
CommitLineData
d7b42618 1; Options for the language- and target-independent parts of the compiler.
50431bc4 2
e53a16e7 3; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
d7b42618
NB
4;
5; This file is part of GCC.
6;
7; GCC is free software; you can redistribute it and/or modify it under
8; the terms of the GNU General Public License as published by the Free
9; Software Foundation; either version 2, or (at your option) any later
10; version.
c22cacf3 11;
d7b42618
NB
12; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13; WARRANTY; without even the implied warranty of MERCHANTABILITY or
14; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15; for more details.
c22cacf3 16;
d7b42618
NB
17; You should have received a copy of the GNU General Public License
18; along with GCC; see the file COPYING. If not, write to the Free
366ccddb
KC
19; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
20; 02110-1301, USA.
d7b42618 21
8abb6b22 22; See the GCC internals manual for a description of this file's format.
d7b42618
NB
23
24; Please try to keep this file in ASCII collating order.
25
d185d268
NB
26-help
27Common
cf03fd63 28Display this information
d185d268 29
c662432e
NC
30-help=
31Common Report Joined
32--help=<class> Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params
903caebf 33
d185d268
NB
34-target-help
35Common
c662432e
NC
36Alias for --help=target
37
38;; The following three entries are to work around the gcc driver
39;; program's insatiable desire to turn options starting with a
40;; double dash (--) into options starting with a dash f (-f).
41fhelp
42Common
43
44fhelp=
45Common Joined
46
47ftarget-help
48Common
49
50-param
51Common Separate
52--param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters
d185d268
NB
53
54-version
55Common
56
57G
7b086b11 58Common Joined Separate UInteger
cf03fd63 59-G<number> Put global and static data smaller than <number> bytes into a special section (on some targets)
d185d268 60
903caebf
NB
61O
62Common JoinedOrMissing
cf03fd63 63-O<number> Set optimization level to <number>
903caebf
NB
64
65Os
66Common
cf03fd63 67Optimize for space rather than speed
903caebf
NB
68
69W
70Common RejectNegative
28786366 71This switch is deprecated; use -Wextra instead
903caebf 72
e01cc6dc 73Waggregate-return
c662432e 74Common Var(warn_aggregate_return) Warning
28786366 75Warn about returning structures, unions or arrays
e01cc6dc 76
590b1f2d 77Warray-bounds
21af5cdf 78Common Var(warn_array_bounds) Warning
590b1f2d
DM
79Warn if an array is accessed out of bounds
80
5c498b10 81Wattributes
c662432e 82Common Var(warn_attributes) Init(1) Warning
5c498b10
DD
83Warn about inappropriate attribute usage
84
e01cc6dc 85Wcast-align
c662432e 86Common Var(warn_cast_align) Warning
28786366 87Warn about pointer casts which increase alignment
e01cc6dc
NB
88
89Wdeprecated-declarations
c662432e 90Common Var(warn_deprecated_decl) Init(1) Warning
28786366 91Warn about uses of __attribute__((deprecated)) declarations
e01cc6dc
NB
92
93Wdisabled-optimization
c662432e 94Common Var(warn_disabled_optimization) Warning
28786366 95Warn when an optimization pass is disabled
e01cc6dc
NB
96
97Werror
50431bc4 98Common Var(warnings_are_errors)
28786366 99Treat all warnings as errors
e01cc6dc 100
79cf5994
DD
101Werror=
102Common Joined
103Treat specified warning as error
104
903caebf 105Wextra
c662432e 106Common Warning
cf03fd63 107Print extra (possibly unwanted) warnings
903caebf 108
c65a01af 109Wfatal-errors
50431bc4 110Common Var(flag_fatal_errors)
c65a01af
RG
111Exit on the first error occurred
112
e01cc6dc 113Winline
c662432e 114Common Var(warn_inline) Warning
28786366 115Warn when an inlined function cannot be inlined
e01cc6dc
NB
116
117Wlarger-than-
c662432e 118Common RejectNegative Joined UInteger Warning
cf03fd63 119-Wlarger-than-<number> Warn if an object is larger than <number> bytes
e01cc6dc 120
f9cc1a70 121Wunsafe-loop-optimizations
c662432e 122Common Var(warn_unsafe_loop_optimizations) Warning
f9cc1a70
PB
123Warn if the loop cannot be optimized due to nontrivial assumptions.
124
e01cc6dc 125Wmissing-noreturn
c662432e 126Common Var(warn_missing_noreturn) Warning
28786366 127Warn about functions which might be candidates for __attribute__((noreturn))
e01cc6dc 128
71834ad3 129Woverflow
c662432e 130Common Var(warn_overflow) Init(1) Warning
71834ad3
RS
131Warn about overflow in arithmetic expressions
132
e01cc6dc 133Wpacked
c662432e 134Common Var(warn_packed) Warning
28786366 135Warn when the packed attribute has no effect on struct layout
e01cc6dc
NB
136
137Wpadded
c662432e 138Common Var(warn_padded) Warning
28786366 139Warn when padding is required to align structure members
e01cc6dc
NB
140
141Wshadow
c662432e 142Common Var(warn_shadow) Warning
28786366 143Warn when one local variable shadows another
e01cc6dc 144
7d69de61 145Wstack-protector
c662432e 146Common Var(warn_stack_protect) Warning
7d69de61
RH
147Warn when not issuing stack smashing protection for some reason
148
e01cc6dc 149Wstrict-aliasing
c662432e 150Common Warning
28786366 151Warn about code which might break strict aliasing rules
e01cc6dc 152
5399d643 153Wstrict-aliasing=
c662432e 154Common Joined UInteger Warning
5399d643
JW
155Warn about code which might break strict aliasing rules
156
6ac01510 157Wstrict-overflow
21af5cdf 158Common Warning
6ac01510
ILT
159Warn about optimizations that assume that signed overflow is undefined
160
161Wstrict-overflow=
21af5cdf 162Common Joined UInteger Warning
6ac01510
ILT
163Warn about optimizations that assume that signed overflow is undefined
164
e01cc6dc 165Wswitch
c662432e 166Common Var(warn_switch) Warning
28786366 167Warn about enumerated switches, with no default, missing a case
e01cc6dc
NB
168
169Wswitch-default
c662432e 170Common Var(warn_switch_default) Warning
28786366 171Warn about enumerated switches missing a \"default:\" statement
e01cc6dc
NB
172
173Wswitch-enum
c662432e 174Common Var(warn_switch_enum) Warning
28786366 175Warn about all enumerated switches missing a specific case
e01cc6dc
NB
176
177Wsystem-headers
c662432e 178Common Var(warn_system_headers) Warning
f3fdaec4 179Do not suppress warnings from system headers
e01cc6dc
NB
180
181Wuninitialized
c662432e 182Common Var(warn_uninitialized) Warning
28786366 183Warn about uninitialized automatic variables
e01cc6dc
NB
184
185Wunreachable-code
c662432e 186Common Var(warn_notreached) Warning
28786366 187Warn about code that will never be executed
e01cc6dc 188
903caebf 189Wunused
c662432e 190Common Warning
cf03fd63 191Enable all -Wunused- warnings
903caebf 192
e01cc6dc 193Wunused-function
c662432e 194Common Var(warn_unused_function) Warning
28786366 195Warn when a function is unused
e01cc6dc
NB
196
197Wunused-label
c662432e 198Common Var(warn_unused_label) Warning
28786366 199Warn when a label is unused
e01cc6dc
NB
200
201Wunused-parameter
c662432e 202Common Var(warn_unused_parameter) Warning
28786366 203Warn when a function parameter is unused
e01cc6dc
NB
204
205Wunused-value
c662432e 206Common Var(warn_unused_value) Warning
28786366 207Warn when an expression value is unused
e01cc6dc
NB
208
209Wunused-variable
c662432e 210Common Var(warn_unused_variable) Warning
28786366 211Warn when a variable is unused
e01cc6dc 212
d35a40fc 213Wvolatile-register-var
c662432e 214Common Var(warn_register_var) Warning
d35a40fc
DE
215Warn when a register variable is declared volatile
216
16c1c158 217Wcoverage-mismatch
21af5cdf 218Common RejectNegative Var(warn_coverage_mismatch) Warning
16c1c158
RG
219Warn instead of error in case profiles in -fprofile-use do not match
220
d185d268
NB
221aux-info
222Common Separate
cf03fd63 223-aux-info <file> Emit declaration information into <file>
d185d268
NB
224
225aux-info=
226Common Joined
227
228auxbase
229Common Separate
230
231auxbase-strip
232Common Separate
233
234d
235Common Joined
cf03fd63 236-d<letters> Enable dumps from specific passes of the compiler
d185d268
NB
237
238dumpbase
239Common Separate
cf03fd63 240-dumpbase <file> Set the file basename to be used for dumps
d185d268 241
31b66477
KC
242; The version of the C++ ABI in use. The following values are allowed:
243;
244; 0: The version of the ABI believed most conformant with the C++ ABI
245; specification. This ABI may change as bugs are discovered and fixed.
246; Therefore, 0 will not necessarily indicate the same ABI in different
247; versions of G++.
248;
249; 1: The version of the ABI first used in G++ 3.2.
250;
251; Additional positive integers will be assigned as new versions of
252; the ABI become the default version of the ABI.
57782ad8 253fabi-version=
50431bc4 254Common Joined UInteger Var(flag_abi_version) Init(2)
57782ad8 255
6ff3a151 256falign-functions
50431bc4 257Common Report Var(align_functions,0)
f3fdaec4 258Align the start of functions
6ff3a151 259
058de654
NB
260falign-functions=
261Common RejectNegative Joined UInteger
262
6ff3a151 263falign-jumps
c662432e 264Common Report Var(align_jumps,0) Optimization
f3fdaec4 265Align labels which are only reached by jumping
6ff3a151 266
058de654
NB
267falign-jumps=
268Common RejectNegative Joined UInteger
269
6ff3a151 270falign-labels
c662432e 271Common Report Var(align_labels,0) Optimization
f3fdaec4 272Align all labels
6ff3a151 273
058de654
NB
274falign-labels=
275Common RejectNegative Joined UInteger
276
6ff3a151 277falign-loops
c662432e 278Common Report Var(align_loops) Optimization
f3fdaec4 279Align the start of loops
6ff3a151 280
058de654
NB
281falign-loops=
282Common RejectNegative Joined UInteger
283
31b66477
KC
284; This flag is only tested if alias checking is enabled.
285; 0 if pointer arguments may alias each other. True in C.
286; 1 if pointer arguments may not alias each other but may alias
287; global variables.
288; 2 if pointer arguments may not alias each other and may not
0698a1d2
TM
289; alias global variables.
290; 3 if pointer arguments may not alias anything. True in Fortran.
291; Set by the front end.
6ff3a151 292fargument-alias
c662432e 293Common Report Var(flag_argument_noalias,0) Optimization
f3fdaec4 294Specify that arguments may alias each other and globals
6ff3a151
NB
295
296fargument-noalias
c662432e 297Common Report Var(flag_argument_noalias,1) VarExists Optimization
f3fdaec4 298Assume arguments may alias globals but not each other
6ff3a151
NB
299
300fargument-noalias-global
c662432e 301Common Report Var(flag_argument_noalias,2) VarExists Optimization
f3fdaec4 302Assume arguments alias neither each other nor globals
6ff3a151 303
0698a1d2 304fargument-noalias-anything
c662432e 305Common Report Var(flag_argument_noalias,3) VarExists Optimization
0698a1d2
TM
306Assume arguments alias no other storage
307
6ff3a151 308fasynchronous-unwind-tables
c662432e 309Common Report Var(flag_asynchronous_unwind_tables) Optimization
f3fdaec4 310Generate unwind tables that are exact at each instruction boundary
6ff3a151 311
31b66477
KC
312; -fcheck-bounds causes gcc to generate array bounds checks.
313; For C, C++ and ObjC: defaults off.
314; For Java: defaults to on.
315; For Fortran: defaults to off.
6ff3a151 316fbounds-check
50431bc4 317Common Report Var(flag_bounds_check)
f3fdaec4 318Generate code to check bounds before indexing arrays
6ff3a151
NB
319
320fbranch-count-reg
c662432e 321Common Report Var(flag_branch_on_count_reg) Init(1) Optimization
f3fdaec4 322Replace add, compare, branch with branch on count register
6ff3a151
NB
323
324fbranch-probabilities
c662432e 325Common Report Var(flag_branch_probabilities) Optimization
f3fdaec4 326Use profiling information for branch probabilities
6ff3a151 327
de32c0cb 328fbranch-target-load-optimize
c662432e 329Common Report Var(flag_branch_target_load_optimize) Optimization
f3fdaec4 330Perform branch target load optimization before prologue / epilogue threading
de32c0cb
NB
331
332fbranch-target-load-optimize2
c662432e 333Common Report Var(flag_branch_target_load_optimize2) Optimization
f3fdaec4 334Perform branch target load optimization after prologue / epilogue threading
de32c0cb 335
1194fc79 336fbtr-bb-exclusive
c662432e 337Common Report Var(flag_btr_bb_exclusive) Optimization
1194fc79
R
338Restrict target load migration not to re-use registers in any basic block
339
058de654
NB
340fcall-saved-
341Common Joined RejectNegative
cf03fd63 342-fcall-saved-<register> Mark <register> as being preserved across functions
058de654
NB
343
344fcall-used-
345Common Joined RejectNegative
cf03fd63 346-fcall-used-<register> Mark <register> as being corrupted by function calls
058de654 347
31b66477
KC
348; Nonzero for -fcaller-saves: allocate values in regs that need to
349; be saved across function calls, if that produces overall better code.
350; Optional now, so people can test it.
de32c0cb 351fcaller-saves
c662432e 352Common Report Var(flag_caller_saves) Optimization
f3fdaec4 353Save registers around function calls
de32c0cb 354
6ff3a151 355fcommon
c662432e 356Common Report Var(flag_no_common,0) Optimization
f3fdaec4 357Do not put uninitialized globals in the common section
6ff3a151
NB
358
359fcprop-registers
c662432e 360Common Report Var(flag_cprop_registers) Optimization
f3fdaec4 361Perform a register copy-propagation optimization pass
6ff3a151 362
de32c0cb 363fcrossjumping
c662432e 364Common Report Var(flag_crossjumping) Optimization
f3fdaec4 365Perform cross-jumping optimization
de32c0cb
NB
366
367fcse-follow-jumps
c662432e 368Common Report Var(flag_cse_follow_jumps) Optimization
f3fdaec4 369When running CSE, follow jumps to their targets
de32c0cb
NB
370
371fcse-skip-blocks
c662432e 372Common Report Var(flag_cse_skip_blocks) Optimization
f3fdaec4 373When running CSE, follow conditional jumps
de32c0cb 374
c7463669 375fcx-limited-range
c662432e 376Common Report Var(flag_cx_limited_range) Optimization
c7463669
RH
377Omit range reduction step when performing complex division
378
6ff3a151 379fdata-sections
c662432e 380Common Report Var(flag_data_sections) Optimization
f3fdaec4 381Place data items into their own section
6ff3a151 382
31b66477
KC
383; Nonzero for -fdefer-pop: don't pop args after each function call
384; instead save them up to pop many calls' args with one insns.
de32c0cb 385fdefer-pop
c662432e 386Common Report Var(flag_defer_pop) Optimization
f3fdaec4 387Defer popping functions args from stack until later
de32c0cb
NB
388
389fdelayed-branch
c662432e 390Common Report Var(flag_delayed_branch) Optimization
f3fdaec4 391Attempt to fill delay slots of branch instructions
de32c0cb
NB
392
393fdelete-null-pointer-checks
c662432e 394Common Report Var(flag_delete_null_pointer_checks) Optimization
f3fdaec4 395Delete useless null pointer checks
de32c0cb
NB
396
397fdiagnostics-show-location=
398Common Joined RejectNegative
cf03fd63 399-fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics
de32c0cb 400
ccf08a6e 401fdiagnostics-show-option
2098fe9e 402Common
c85ce869 403Amend appropriate diagnostic messages with the command line option that controls them
ccf08a6e 404
6de9cd9a
DN
405fdump-
406Common Joined RejectNegative
407-fdump-<type> Dump various compiler internals to a file
408
24a7799e
R
409fdump-noaddr
410Common Report Var(flag_dump_noaddr)
411Suppress output of addresses in debugging dumps
412
6ff3a151 413fdump-unnumbered
50431bc4 414Common Report Var(flag_dump_unnumbered) VarExists
24a7799e 415Suppress output of instruction numbers, line number notes and addresses in debugging dumps
6ff3a151 416
355866de 417fearly-inlining
c662432e 418Common Report Var(flag_early_inlining) Init(1) Optimization
355866de
RG
419Perform early inlining
420
de32c0cb 421feliminate-dwarf2-dups
50431bc4 422Common Report Var(flag_eliminate_dwarf2_dups)
f3fdaec4 423Perform DWARF2 duplicate elimination
de32c0cb 424
6a08f7b3 425feliminate-unused-debug-symbols
50431bc4 426Common Report Var(flag_debug_only_used_symbols)
f3fdaec4 427Perform unused type elimination in debug info
6a08f7b3 428
de32c0cb 429feliminate-unused-debug-types
50431bc4 430Common Report Var(flag_eliminate_unused_debug_types) Init(1)
f3fdaec4 431Perform unused type elimination in debug info
de32c0cb 432
e713adf6
CD
433femit-class-debug-always
434Common Report Var(flag_emit_class_debug_always) Init(1)
435Do not suppress C++ class debug information.
436
6ff3a151 437fexceptions
c662432e 438Common Report Var(flag_exceptions) Optimization
f3fdaec4 439Enable exception handling
6ff3a151 440
de32c0cb 441fexpensive-optimizations
c662432e 442Common Report Var(flag_expensive_optimizations) Optimization
f3fdaec4 443Perform a number of minor, expensive optimizations
de32c0cb 444
058de654
NB
445ffast-math
446Common
447
6ff3a151 448ffinite-math-only
c662432e 449Common Report Var(flag_finite_math_only) Optimization
f3fdaec4 450Assume no NaNs or infinities are generated
6ff3a151 451
058de654
NB
452ffixed-
453Common Joined RejectNegative
cf03fd63 454-ffixed-<register> Mark <register> as being unavailable to the compiler
058de654 455
de32c0cb 456ffloat-store
c662432e 457Common Report Var(flag_float_store) Optimization
31b66477 458Don't allocate floats and doubles in extended-precision registers
de32c0cb 459
31b66477
KC
460; Nonzero for -fforce-addr: load memory address into a register before
461; reference to memory. This makes better cse but slower compilation.
de32c0cb 462fforce-addr
c662432e 463Common Report Var(flag_force_addr) Optimization
f3fdaec4 464Copy memory address constants into registers before use
de32c0cb 465
c662432e 466fforward-propagate Optimization
a52b023a
PB
467Common Report Var(flag_forward_propagate)
468Perform a forward propagation pass on RTL
469
31b66477
KC
470; Nonzero means don't put addresses of constant functions in registers.
471; Used for compiling the Unix kernel, where strange substitutions are
472; done on the assembly output.
de32c0cb 473ffunction-cse
50431bc4 474Common Report Var(flag_no_function_cse,0)
f3fdaec4 475Allow function addresses to be held in registers
de32c0cb 476
6ff3a151 477ffunction-sections
50431bc4 478Common Report Var(flag_function_sections)
f3fdaec4 479Place each function into its own section
6ff3a151 480
de32c0cb 481fgcse
c662432e 482Common Report Var(flag_gcse) Optimization
f3fdaec4 483Perform global common subexpression elimination
de32c0cb
NB
484
485fgcse-lm
c662432e 486Common Report Var(flag_gcse_lm) Init(1) Optimization
f3fdaec4 487Perform enhanced load motion during global common subexpression elimination
de32c0cb
NB
488
489fgcse-sm
c662432e 490Common Report Var(flag_gcse_sm) Init(0) Optimization
f3fdaec4 491Perform store motion after global common subexpression elimination
de32c0cb 492
f5f2e3cd 493fgcse-las
c662432e 494Common Report Var(flag_gcse_las) Init(0) Optimization
f9957958
MH
495Perform redundant load after store elimination in global common subexpression
496elimination
497
498fgcse-after-reload
c662432e 499Common Report Var(flag_gcse_after_reload) Optimization
f9957958 500Perform global common subexpression elimination after register allocation
c85ce869 501has finished
f5f2e3cd 502
6ff3a151 503fguess-branch-probability
c662432e 504Common Report Var(flag_guess_branch_prob) Optimization
f3fdaec4 505Enable guessing of branch probabilities
6ff3a151 506
31b66477
KC
507; Nonzero means ignore `#ident' directives. 0 means handle them.
508; Generate position-independent code for executables if possible
509; On SVR4 targets, it also controls whether or not to emit a
510; string identifying the compiler.
6ff3a151 511fident
50431bc4 512Common Report Var(flag_no_ident,0)
f3fdaec4 513Process #ident directives
6ff3a151 514
de32c0cb 515fif-conversion
c662432e 516Common Report Var(flag_if_conversion) Optimization
f3fdaec4 517Perform conversion of conditional jumps to branchless equivalents
de32c0cb
NB
518
519fif-conversion2
c662432e 520Common Report Var(flag_if_conversion2) Optimization
f3fdaec4 521Perform conversion of conditional jumps to conditional execution
de32c0cb 522
31b66477
KC
523; -finhibit-size-directive inhibits output of .size for ELF.
524; This is used only for compiling crtstuff.c,
525; and it may be extended to other effects
526; needed for crtstuff.c on other systems.
6ff3a151 527finhibit-size-directive
50431bc4 528Common Report Var(flag_inhibit_size_directive)
f3fdaec4 529Do not generate .size directives
6ff3a151 530
31b66477
KC
531; Nonzero means that functions declared `inline' will be treated
532; as `static'. Prevents generation of zillions of copies of unused
533; static inline functions; instead, `inlines' are written out
534; only when actually used. Used in conjunction with -g. Also
535; does the right thing with #pragma interface.
de32c0cb 536finline
50431bc4 537Common Report Var(flag_no_inline,0) Init(2)
f3fdaec4 538Pay attention to the \"inline\" keyword
de32c0cb
NB
539
540finline-functions
c662432e 541Common Report Var(flag_inline_functions) Optimization
f3fdaec4 542Integrate simple functions into their callers
de32c0cb 543
355866de 544finline-functions-called-once
c662432e 545Common Report Var(flag_inline_functions_called_once) Init(1) Optimization
355866de 546Integrate functions called once into their callers
d63db217 547
d302c9d6
NB
548finline-limit-
549Common RejectNegative Joined UInteger
550
551finline-limit=
552Common RejectNegative Joined UInteger
cf03fd63 553-finline-limit=<number> Limit the size of inlined functions to <number>
d302c9d6 554
6ff3a151 555finstrument-functions
50431bc4 556Common Report Var(flag_instrument_function_entry_exit)
f3fdaec4 557Instrument function entry and exit with profiling calls
6ff3a151 558
d6e14e8f 559fipa-cp
c662432e 560Common Report Var(flag_ipa_cp) Optimization
d6e14e8f
SB
561Perform Interprocedural constant propagation
562
ea900239 563fipa-pure-const
c662432e 564Common Report Var(flag_ipa_pure_const) Init(0) Optimization
ea900239
DB
565Discover pure and const functions
566
4cf4d6a3 567fipa-pta
c662432e 568Common Report Var(flag_ipa_pta) Init(0) Optimization
4cf4d6a3
DB
569Perform interprocedural points-to analysis
570
ea900239 571fipa-reference
c662432e 572Common Report Var(flag_ipa_reference) Init(0) Optimization
ea900239
DB
573Discover readonly and non addressable static variables
574
575fipa-type-escape
c662432e 576Common Report Var(flag_ipa_type_escape) Init(0) Optimization
ea900239
DB
577Type based escape and alias analysis
578
8b11a64c 579fivopts
c662432e 580Common Report Var(flag_ivopts) Init(1) Optimization
8b11a64c
ZD
581Optimize induction variables on trees
582
82c0180d 583fjump-tables
c662432e 584Common Var(flag_jump_tables) Init(1) Optimization
82c0180d
JM
585Use jump tables for sufficiently large switch statements
586
de32c0cb 587fkeep-inline-functions
50431bc4 588Common Report Var(flag_keep_inline_functions)
f3fdaec4 589Generate code for functions even if they are fully inlined
de32c0cb
NB
590
591fkeep-static-consts
50431bc4 592Common Report Var(flag_keep_static_consts) Init(1)
f3fdaec4 593Emit static const variables even if they are not used
de32c0cb 594
6ff3a151 595fleading-underscore
50431bc4 596Common Report Var(flag_leading_underscore) Init(-1)
f3fdaec4 597Give external symbols a leading underscore
6ff3a151 598
efa1cdf0
ZD
599floop-optimize
600Common
c0220ea4 601Does nothing. Preserved for backward compatibility.
efa1cdf0 602
6ff3a151 603fmath-errno
50431bc4 604Common Report Var(flag_errno_math) Init(1)
f3fdaec4 605Set errno after built-in math functions
6ff3a151
NB
606
607fmem-report
50431bc4 608Common Report Var(mem_report)
f3fdaec4 609Report on permanent memory allocation
6ff3a151 610
31b66477
KC
611; This will attempt to merge constant section constants, if 1 only
612; string constants and constants from constant pool, if 2 also constant
613; variables.
6ff3a151 614fmerge-all-constants
c662432e 615Common Report Var(flag_merge_constants,2) Init(1) Optimization
f3fdaec4 616Attempt to merge identical constants and constant variables
6ff3a151
NB
617
618fmerge-constants
c662432e 619Common Report Var(flag_merge_constants,1) VarExists Optimization
f3fdaec4 620Attempt to merge identical constants across compilation units
6ff3a151 621
de32c0cb
NB
622fmessage-length=
623Common RejectNegative Joined UInteger
cf03fd63 624-fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping
de32c0cb 625
e5626198 626fmodulo-sched
c662432e 627Common Report Var(flag_modulo_sched) Optimization
e5626198
AZ
628Perform SMS based modulo scheduling before the first scheduling pass
629
5e962776 630fmove-loop-invariants
c662432e 631Common Report Var(flag_move_loop_invariants) Init(1) Optimization
5e962776
ZD
632Move loop invariant computations out of loops
633
6de9cd9a 634fmudflap
50431bc4 635Common RejectNegative Report Var(flag_mudflap)
c85ce869 636Add mudflap bounds-checking instrumentation for single-threaded program
6de9cd9a
DN
637
638fmudflapth
110c4563 639Common RejectNegative Report VarExists Var(flag_mudflap,2)
c85ce869 640Add mudflap bounds-checking instrumentation for multi-threaded program
6de9cd9a
DN
641
642fmudflapir
50431bc4 643Common RejectNegative Report Var(flag_mudflap_ignore_reads)
c85ce869 644Ignore read operations when inserting mudflap instrumentation
6de9cd9a 645
d72372e4 646freschedule-modulo-scheduled-loops
c662432e 647Common Report Var(flag_resched_modulo_sched) Optimization
d72372e4
MH
648Enable/Disable the traditional scheduling in loops that already passed modulo scheduling
649
6ff3a151 650fnon-call-exceptions
c662432e 651Common Report Var(flag_non_call_exceptions) Optimization
f3fdaec4 652Support synchronous non-call exceptions
6ff3a151 653
de32c0cb 654fomit-frame-pointer
c662432e 655Common Report Var(flag_omit_frame_pointer) Optimization
f3fdaec4 656When possible do not generate stack frames
de32c0cb 657
6ff3a151 658foptimize-register-move
c662432e 659Common Report Var(flag_regmove) Optimization
f3fdaec4 660Do the full register move optimization pass
6ff3a151 661
de32c0cb 662foptimize-sibling-calls
c662432e 663Common Report Var(flag_optimize_sibling_calls) Optimization
f3fdaec4 664Optimize sibling and tail recursive calls
de32c0cb 665
a5573239
JH
666fpre-ipa-mem-report
667Common Report Var(pre_ipa_mem_report)
668Report on memory allocation before interprocedural optimization
669
670fpost-ipa-mem-report
671Common Report Var(post_ipa_mem_report)
672Report on memory allocation before interprocedural optimization
673
6ff3a151 674fpack-struct
c662432e 675Common Report Var(flag_pack_struct) Optimization
f3fdaec4 676Pack structure members together without holes
6ff3a151 677
467cecf3 678fpack-struct=
c662432e 679Common RejectNegative Joined UInteger Optimization
467cecf3
JB
680-fpack-struct=<number> Set initial maximum structure member alignment
681
de32c0cb 682fpcc-struct-return
50431bc4 683Common Report Var(flag_pcc_struct_return,1) VarExists
f3fdaec4 684Return small aggregates in memory, not registers
de32c0cb
NB
685
686fpeel-loops
c662432e 687Common Report Var(flag_peel_loops) Optimization
f3fdaec4 688Perform loop peeling
de32c0cb
NB
689
690fpeephole
c662432e 691Common Report Var(flag_no_peephole,0) Optimization
f3fdaec4 692Enable machine specific peephole optimizations
de32c0cb 693
6ff3a151 694fpeephole2
c662432e 695Common Report Var(flag_peephole2) Optimization
f3fdaec4 696Enable an RTL peephole pass before sched2
6ff3a151 697
31b66477
KC
698fPIC
699Common Report Var(flag_pic,2)
700Generate position-independent code if possible (large mode)
701
702fPIE
703Common Report Var(flag_pie,2)
704Generate position-independent code for executables if possible (large mode)
705
6ff3a151 706fpic
50431bc4 707Common Report Var(flag_pic,1) VarExists
31b66477 708Generate position-independent code if possible (small mode)
6ff3a151
NB
709
710fpie
50431bc4 711Common Report Var(flag_pie,1) VarExists
31b66477 712Generate position-independent code for executables if possible (small mode)
6ff3a151 713
de32c0cb 714fprefetch-loop-arrays
c662432e 715Common Report Var(flag_prefetch_loop_arrays) Optimization
f3fdaec4 716Generate prefetch instructions, if available, for arrays in loops
de32c0cb 717
6ff3a151 718fprofile
50431bc4 719Common Report Var(profile_flag)
f3fdaec4 720Enable basic program profiling code
6ff3a151
NB
721
722fprofile-arcs
50431bc4 723Common Report Var(profile_arc_flag)
f3fdaec4 724Insert arc-based program profiling code
6ff3a151 725
a8a5f53a
JH
726fprofile-generate
727Common
728Enable common options for generating profile info for profile feedback directed optimizations
729
730fprofile-use
731Common
732Enable common options for performing profile feedback directed optimizations
733
fca9dc00 734fprofile-values
50431bc4 735Common Report Var(flag_profile_values)
fca9dc00
ZD
736Insert code to profile values of expressions
737
de32c0cb
NB
738frandom-seed
739Common
740
741frandom-seed=
742Common Joined RejectNegative
cf03fd63 743-frandom-seed=<string> Make compile reproducible using <string>
de32c0cb 744
e0d9d0dd
NC
745; This switch causes the command line that was used to create an
746; object file to be recorded into the object file. The exact format
747; of this recording is target and binary file format dependent.
748; It is related to the -fverbose-asm switch, but that switch only
749; records information in the assembler output file as comments, so
750; they never reach the object file.
751frecord-gcc-switches
752Common Report Var(flag_record_gcc_switches)
753Record gcc command line switches in the object file.
754
de32c0cb 755freg-struct-return
c662432e 756Common Report Var(flag_pcc_struct_return,0) VarExists Optimization
f3fdaec4 757Return small aggregates in registers
de32c0cb 758
6ff3a151 759fregmove
c662432e 760Common Report Var(flag_regmove) Optimization
f3fdaec4 761Enables a register move optimization
6ff3a151
NB
762
763frename-registers
c662432e 764Common Report Var(flag_rename_registers) Init(2) Optimization
f3fdaec4 765Perform a register renaming optimization pass
6ff3a151
NB
766
767freorder-blocks
c662432e 768Common Report Var(flag_reorder_blocks) Optimization
f3fdaec4 769Reorder basic blocks to improve code placement
6ff3a151 770
750054a2 771freorder-blocks-and-partition
c662432e 772Common Report Var(flag_reorder_blocks_and_partition) Optimization
750054a2
CT
773Reorder basic blocks and partition into hot and cold sections
774
6ff3a151 775freorder-functions
c662432e 776Common Report Var(flag_reorder_functions) Optimization
f3fdaec4 777Reorder functions to improve code placement
6ff3a151 778
de32c0cb 779frerun-cse-after-loop
c662432e 780Common Report Var(flag_rerun_cse_after_loop) Init(2) Optimization
f3fdaec4 781Add a common subexpression elimination pass after loop optimizations
de32c0cb 782
efa1cdf0
ZD
783frerun-loop-opt
784Common
c0220ea4 785Does nothing. Preserved for backward compatibility.
efa1cdf0 786
039c3d42 787frounding-math
c662432e 788Common Report Var(flag_rounding_math) Optimization
039c3d42
RS
789Disable optimizations that assume default FP rounding behavior
790
6ff3a151 791fsched-interblock
c662432e 792Common Report Var(flag_schedule_interblock) Init(1) Optimization
f3fdaec4 793Enable scheduling across basic blocks
6ff3a151
NB
794
795fsched-spec
c662432e 796Common Report Var(flag_schedule_speculative) Init(1) Optimization
f3fdaec4 797Allow speculative motion of non-loads
6ff3a151
NB
798
799fsched-spec-load
c662432e 800Common Report Var(flag_schedule_speculative_load) Optimization
f3fdaec4 801Allow speculative motion of some loads
6ff3a151
NB
802
803fsched-spec-load-dangerous
c662432e 804Common Report Var(flag_schedule_speculative_load_dangerous) Optimization
f3fdaec4 805Allow speculative motion of more loads
6ff3a151 806
de32c0cb
NB
807fsched-verbose=
808Common RejectNegative Joined
cf03fd63 809-fsched-verbose=<number> Set the verbosity level of the scheduler
de32c0cb 810
6ff3a151 811fsched2-use-superblocks
c662432e 812Common Report Var(flag_sched2_use_superblocks) Optimization
f3fdaec4 813If scheduling post reload, do superblock scheduling
6ff3a151
NB
814
815fsched2-use-traces
c662432e 816Common Report Var(flag_sched2_use_traces) Optimization
f3fdaec4 817If scheduling post reload, do trace scheduling
6ff3a151 818
de32c0cb 819fschedule-insns
c662432e 820Common Report Var(flag_schedule_insns) Optimization
f3fdaec4 821Reschedule instructions before register allocation
de32c0cb
NB
822
823fschedule-insns2
c662432e 824Common Report Var(flag_schedule_insns_after_reload) Optimization
f3fdaec4 825Reschedule instructions after register allocation
de32c0cb 826
31b66477
KC
827; sched_stalled_insns means that insns can be moved prematurely from the queue
828; of stalled insns into the ready list.
569fa502 829fsched-stalled-insns
c662432e 830Common Report Var(flag_sched_stalled_insns) Optimization
569fa502
DN
831Allow premature scheduling of queued insns
832
833fsched-stalled-insns=
c22cacf3 834Common RejectNegative Joined UInteger
4e994432 835-fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled
569fa502 836
31b66477
KC
837; sched_stalled_insns_dep controls how many recently scheduled cycles will
838; be examined for a dependency on a stalled insn that is candidate for
839; premature removal from the queue of stalled insns into the ready list (has
840; an effect only if the flag 'sched_stalled_insns' is set).
569fa502 841fsched-stalled-insns-dep
c662432e 842Common Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization
569fa502
DN
843Set dependence distance checking in premature scheduling of queued insns
844
845fsched-stalled-insns-dep=
846Common RejectNegative Joined UInteger
4e994432 847-fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns
569fa502 848
aacd3885 849fsection-anchors
c662432e 850Common Report Var(flag_section_anchors) Optimization
aacd3885
RS
851Access data in the same section from shared anchor points
852
38109dab 853frtl-abstract-sequences
c662432e 854Common Report Var(flag_rtl_seqabstr) Optimization
38109dab
GL
855Perform sequence abstraction optimization on RTL
856
8cd37d0b
RL
857fsee
858Common Report Var(flag_see) Init(0)
859Eliminate redundant sign extensions using LCM.
860
8abb6b22
PB
861fshow-column
862Common C ObjC C++ ObjC++ Report Var(flag_show_column) Init(1)
c85ce869 863Show column numbers in diagnostics, when available. Default on
8abb6b22 864
6ff3a151 865fsignaling-nans
c662432e 866Common Report Var(flag_signaling_nans) Optimization
f3fdaec4 867Disable optimizations observable by IEEE signaling NaNs
6ff3a151 868
db02da79 869fsigned-zeros
21af5cdf 870Common Report Var(flag_signed_zeros) Init(1) Optimization
db02da79
RS
871Disable floating point optimizations that ignore the IEEE signedness of zero
872
6ff3a151 873fsingle-precision-constant
c662432e 874Common Report Var(flag_single_precision_constant) Optimization
f3fdaec4 875Convert floating point constants to single precision constants
6ff3a151 876
113d659a 877fsplit-ivs-in-unroller
c662432e 878Common Report Var(flag_split_ivs_in_unroller) Init(1) Optimization
c85ce869 879Split lifetimes of induction variables when loops are unrolled
113d659a 880
e53a16e7 881fsplit-wide-types
21af5cdf 882Common Report Var(flag_split_wide_types) Optimization
e53a16e7
ILT
883Split wide types into independent registers
884
f37a4f14 885fvariable-expansion-in-unroller
c662432e 886Common Report Var(flag_variable_expansion_in_unroller) Optimization
c85ce869 887Apply variable expansion when loops are unrolled
f37a4f14 888
31b66477
KC
889; Emit code to probe the stack, to help detect stack overflow; also
890; may cause large objects to be allocated dynamically.
6ff3a151 891fstack-check
50431bc4 892Common Report Var(flag_stack_check)
f3fdaec4 893Insert stack checking code into the program
6ff3a151 894
de32c0cb
NB
895fstack-limit
896Common
897
058de654
NB
898fstack-limit-register=
899Common RejectNegative Joined
cf03fd63 900-fstack-limit-register=<register> Trap if the stack goes past <register>
058de654
NB
901
902fstack-limit-symbol=
903Common RejectNegative Joined
cf03fd63 904-fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>
058de654 905
7d69de61
RH
906fstack-protector
907Common Report Var(flag_stack_protect, 1)
908Use propolice as a stack protection method
909
910fstack-protector-all
911Common Report RejectNegative Var(flag_stack_protect, 2) VarExists
912Use a stack protection method for every function
913
de32c0cb 914fstrength-reduce
efa1cdf0 915Common
c0220ea4 916Does nothing. Preserved for backward compatibility.
de32c0cb 917
31b66477
KC
918; Nonzero if we should do (language-dependent) alias analysis.
919; Typically, this analysis will assume that expressions of certain
920; types do not alias expressions of certain other types. Only used
921; if alias analysis (in general) is enabled.
6ff3a151 922fstrict-aliasing
c662432e 923Common Report Var(flag_strict_aliasing) Optimization
f3fdaec4 924Assume strict aliasing rules apply
6ff3a151 925
eeef0e45
ILT
926fstrict-overflow
927Common Report Var(flag_strict_overflow)
928Treat signed overflow as undefined
929
de32c0cb 930fsyntax-only
50431bc4 931Common Report Var(flag_syntax_only)
f3fdaec4 932Check for syntax errors, then stop
de32c0cb 933
6ff3a151 934ftest-coverage
50431bc4 935Common Report Var(flag_test_coverage)
f3fdaec4 936Create data files needed by \"gcov\"
6ff3a151 937
de32c0cb 938fthread-jumps
c662432e 939Common Report Var(flag_thread_jumps) Optimization
f3fdaec4 940Perform jump threading optimizations
de32c0cb 941
6ff3a151 942ftime-report
50431bc4 943Common Report Var(time_report)
f3fdaec4 944Report the time taken by each compiler pass
6ff3a151 945
058de654
NB
946ftls-model=
947Common Joined RejectNegative
cf03fd63 948-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model
058de654 949
474eccc6 950ftoplevel-reorder
c662432e 951Common Report Var(flag_toplevel_reorder) Init(1) Optimization
474eccc6
ILT
952Reorder top level functions, variables, and asms
953
de32c0cb 954ftracer
50431bc4 955Common Report Var(flag_tracer)
f3fdaec4 956Perform superblock formation via tail duplication
de32c0cb 957
31b66477
KC
958; Zero means that floating-point math operations cannot generate a
959; (user-visible) trap. This is the case, for example, in nonstop
960; IEEE 754 arithmetic.
6ff3a151 961ftrapping-math
c662432e 962Common Report Var(flag_trapping_math) Init(1) Optimization
f3fdaec4 963Assume floating-point operations can trap
6ff3a151
NB
964
965ftrapv
c662432e 966Common Report Var(flag_trapv) Optimization
f3fdaec4 967Trap for signed overflow in addition, subtraction and multiplication
6ff3a151 968
6de9cd9a 969ftree-ccp
c662432e 970Common Report Var(flag_tree_ccp) Optimization
6de9cd9a
DN
971Enable SSA-CCP optimization on trees
972
0bca51f0 973ftree-store-ccp
c662432e 974Common Report Var(flag_tree_store_ccp) Optimization
0bca51f0
DN
975Enable SSA-CCP optimization for stores and loads
976
6de9cd9a 977ftree-ch
c662432e 978Common Report Var(flag_tree_ch) Optimization
6de9cd9a
DN
979Enable loop header copying on trees
980
6de9cd9a 981ftree-copyrename
c662432e 982Common Report Var(flag_tree_copyrename) Optimization
c85ce869 983Replace SSA temporaries with better names in copies
6de9cd9a 984
0bca51f0 985ftree-copy-prop
c662432e 986Common Report Var(flag_tree_copy_prop) Optimization
0bca51f0
DN
987Enable copy propagation on trees
988
989ftree-store-copy-prop
c662432e 990Common Report Var(flag_tree_store_copy_prop) Optimization
0bca51f0
DN
991Enable copy propagation for stores and loads
992
6de9cd9a 993ftree-dce
c662432e 994Common Report Var(flag_tree_dce) Optimization
6de9cd9a
DN
995Enable SSA dead code elimination optimization on trees
996
997ftree-dominator-opts
c662432e 998Common Report Var(flag_tree_dom) Optimization
6de9cd9a
DN
999Enable dominator optimizations
1000
1001ftree-dse
c662432e 1002Common Report Var(flag_tree_dse) Optimization
6de9cd9a
DN
1003Enable dead store elimination
1004
ff2ad0f7 1005ftree-fre
c662432e 1006Common Report Var(flag_tree_fre) Optimization
ff2ad0f7
DN
1007Enable Full Redundancy Elimination (FRE) on trees
1008
1b08d87d 1009ftree-loop-im
c662432e 1010Common Report Var(flag_tree_loop_im) Init(1) Optimization
a7e5372d
ZD
1011Enable loop invariant motion on trees
1012
599eabdb 1013ftree-loop-linear
c662432e 1014Common Report Var(flag_tree_loop_linear) Optimization
599eabdb
DB
1015Enable linear loop transforms on trees
1016
1b08d87d 1017ftree-loop-ivcanon
c662432e 1018Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization
1b08d87d
DB
1019Create canonical induction variables in loops
1020
c66b6c66 1021ftree-loop-optimize
c662432e 1022Common Report Var(flag_tree_loop_optimize) Init(1) Optimization
c66b6c66
ZD
1023Enable loop optimizations on tree level
1024
6de9cd9a 1025ftree-pre
c662432e 1026Common Report Var(flag_tree_pre) Optimization
6de9cd9a
DN
1027Enable SSA-PRE optimization on trees
1028
c75ab022 1029ftree-salias
c662432e 1030Common Report Var(flag_tree_salias) Optimization
c75ab022
DB
1031Perform structural alias analysis
1032
fa555252 1033ftree-sink
c662432e 1034Common Report Var(flag_tree_sink) Optimization
fa555252
DB
1035Enable SSA code sinking on trees
1036
6de9cd9a 1037ftree-sra
c662432e 1038Common Report Var(flag_tree_sra) Optimization
6de9cd9a
DN
1039Perform scalar replacement of aggregates
1040
1041ftree-ter
c662432e 1042Common Report Var(flag_tree_ter) Optimization
6de9cd9a
DN
1043Replace temporary expressions in the SSA->normal pass
1044
c662432e
NC
1045ftree-lrs
1046Common Report Var(flag_tree_live_range_split) Optimization
1047Perform live range splitting during the SSA->normal pass
1048
0bca51f0 1049ftree-vrp
c662432e 1050Common Report Var(flag_tree_vrp) Init(0) Optimization
0bca51f0
DN
1051Perform Value Range Propagation on trees
1052
de32c0cb 1053funit-at-a-time
c662432e 1054Common Report Var(flag_unit_at_a_time) Optimization
f3fdaec4 1055Compile whole compilation unit at a time
de32c0cb
NB
1056
1057funroll-loops
c662432e 1058Common Report Var(flag_unroll_loops) Optimization
f3fdaec4 1059Perform loop unrolling when iteration count is known
de32c0cb
NB
1060
1061funroll-all-loops
c662432e 1062Common Report Var(flag_unroll_all_loops) Optimization
f3fdaec4 1063Perform loop unrolling for all loops
de32c0cb 1064
f9cc1a70
PB
1065; Nonzero means that loop optimizer may assume that the induction variables
1066; that control loops do not overflow and that the loops with nontrivial
1067; exit condition are not infinite
1068funsafe-loop-optimizations
c662432e 1069Common Report Var(flag_unsafe_loop_optimizations) Optimization
f9cc1a70
PB
1070Allow loop optimizations to assume that the loops behave in normal way
1071
31b66477
KC
1072; Nonzero means that unsafe floating-point math optimizations are allowed
1073; for the sake of speed. IEEE compliance is not guaranteed, and operations
1074; are allowed to assume that their arguments and results are "normal"
1075; (e.g., nonnegative for SQRT).
6ff3a151 1076funsafe-math-optimizations
c662432e 1077Common Report Var(flag_unsafe_math_optimizations) Optimization
f3fdaec4 1078Allow math optimizations that may violate IEEE or ISO standards
6ff3a151 1079
de32c0cb 1080funswitch-loops
c662432e 1081Common Report Var(flag_unswitch_loops) Optimization
f3fdaec4 1082Perform loop unswitching
de32c0cb 1083
6ff3a151 1084funwind-tables
c662432e 1085Common Report Var(flag_unwind_tables) Optimization
f3fdaec4 1086Just generate unwind tables for exception handling
6ff3a151 1087
014a1138 1088fvar-tracking
c662432e 1089Common Report Var(flag_var_tracking) VarExists Optimization
014a1138
JZ
1090Perform variable tracking
1091
79fe1b3b 1092ftree-vectorize
c662432e 1093Common Report Var(flag_tree_vectorize) Optimization
79fe1b3b
DN
1094Enable loop vectorization on trees
1095
c12cc930 1096ftree-vect-loop-version
c662432e 1097Common Report Var(flag_tree_vect_loop_version) Init(1) Optimization
c12cc930
KB
1098Enable loop versioning when doing loop vectorization on trees
1099
c866976a
LB
1100ftree-vectorizer-verbose=
1101Common RejectNegative Joined
4e994432 1102-ftree-vectorizer-verbose=<number> Set the verbosity level of the vectorizer
c866976a 1103
fbf798fc 1104ftree-scev-cprop
21af5cdf 1105Common Report Var(flag_tree_scev_cprop) Init(1) Optimization
fbf798fc
DN
1106Enable copy propagation of scalar-evolution information.
1107
31b66477
KC
1108; -fverbose-asm causes extra commentary information to be produced in
1109; the generated assembly code (to make it more readable). This option
1110; is generally only of use to those who actually need to read the
1111; generated assembly code (perhaps while debugging the compiler itself).
1112; -fno-verbose-asm, the default, causes the extra information
1113; to not be added and is useful when comparing two assembler files.
6ff3a151 1114fverbose-asm
50431bc4 1115Common Report Var(flag_verbose_asm)
f3fdaec4 1116Add extra commentary to assembler output
6ff3a151 1117
d7afec4b
ND
1118fvisibility=
1119Common Joined RejectNegative
1120-fvisibility=[default|internal|hidden|protected] Set the default symbol visibility
1121
1122
fca9dc00 1123fvpt
c662432e 1124Common Report Var(flag_value_profile_transformations) Optimization
fca9dc00
ZD
1125Use expression value profiles in optimizations
1126
62551c66 1127fweb
c662432e 1128Common Report Var(flag_web) Init(2) Optimization
62551c66
JH
1129Construct webs and split unrelated uses of single variable
1130
ce91e74c 1131fwhole-program
c662432e 1132Common Report Var(flag_whole_program) Init(0) Optimization
ce91e74c
JH
1133Perform whole program optimizations
1134
6ff3a151 1135fwrapv
c662432e 1136Common Report Var(flag_wrapv) Optimization
f3fdaec4 1137Assume signed arithmetic overflow wraps around
6ff3a151 1138
6ff3a151 1139fzero-initialized-in-bss
50431bc4 1140Common Report Var(flag_zero_initialized_in_bss) Init(1)
f3fdaec4 1141Put zero initialized data in the bss section
6ff3a151 1142
e01cc6dc
NB
1143g
1144Common JoinedOrMissing
df38ffef
NB
1145Generate debug information in default format
1146
1147gcoff
14c7833c 1148Common JoinedOrMissing Negative(gdwarf-2)
df38ffef
NB
1149Generate debug information in COFF format
1150
df38ffef 1151gdwarf-2
14c7833c 1152Common JoinedOrMissing Negative(gstabs)
df38ffef
NB
1153Generate debug information in DWARF v2 format
1154
1155ggdb
1156Common JoinedOrMissing
1157Generate debug information in default extended format
1158
1159gstabs
14c7833c 1160Common JoinedOrMissing Negative(gstabs+)
df38ffef
NB
1161Generate debug information in STABS format
1162
1163gstabs+
14c7833c 1164Common JoinedOrMissing Negative(gvms)
df38ffef
NB
1165Generate debug information in extended STABS format
1166
1167gvms
14c7833c 1168Common JoinedOrMissing Negative(gxcoff)
df38ffef
NB
1169Generate debug information in VMS format
1170
1171gxcoff
14c7833c 1172Common JoinedOrMissing Negative(gxcoff+)
df38ffef
NB
1173Generate debug information in XCOFF format
1174
1175gxcoff+
14c7833c 1176Common JoinedOrMissing Negative(gcoff)
df38ffef 1177Generate debug information in extended XCOFF format
e01cc6dc 1178
d185d268
NB
1179o
1180Common Joined Separate
cf03fd63 1181-o <file> Place output into <file>
d185d268
NB
1182
1183p
50431bc4 1184Common Var(profile_flag)
cf03fd63 1185Enable function profiling
d185d268
NB
1186
1187pedantic
50431bc4 1188Common Var(pedantic)
cf03fd63 1189Issue warnings needed for strict compliance to the standard
d185d268
NB
1190
1191pedantic-errors
1192Common
cf03fd63 1193Like -pedantic but issue them as errors
d185d268 1194
d7b42618 1195quiet
50431bc4 1196Common Var(quiet_flag)
cf03fd63 1197Do not display functions compiled or elapsed time
d7b42618 1198
d185d268 1199version
50431bc4 1200Common Var(version_flag)
cf03fd63 1201Display the compiler's version
d185d268
NB
1202
1203w
50431bc4 1204Common Var(inhibit_warnings)
cf03fd63 1205Suppress warnings
d185d268 1206
d7b42618 1207; This comment is to ensure we retain the blank line above.
This page took 1.04887 seconds and 5 git commands to generate.