OSDN Git Service

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