* tree.h (SET_ARRAY_OR_VECTOR_CHECK): Rename to SET_OR_ARRAY_CHECK
[official-gcc.git] / gcc / common.opt
blob92748d330629ff2f3f49813c2f425f28eada49c2
1 ; Options for the language- and target-independent parts of the compiler.
2 ; Copyright (C) 2003, 2004 Free Software Foundation, Inc.
4 ; This file is part of GCC.
6 ; GCC is free software; you can redistribute it and/or modify it under
7 ; the terms of the GNU General Public License as published by the Free
8 ; Software Foundation; either version 2, or (at your option) any later
9 ; version.
10
11 ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12 ; WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 ; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 ; for more details.
15
16 ; You should have received a copy of the GNU General Public License
17 ; along with GCC; see the file COPYING.  If not, write to the Free
18 ; Software Foundation, 59 Temple Place - Suite 330, Boston, MA
19 ; 02111-1307, USA.
21 ; See c.opt for a description of this file's format.
23 ; Please try to keep this file in ASCII collating order.
25 -help
26 Common
27 Display this information
29 -param
30 Common Separate
31 --param <param>=<value> Set paramter <param> to value.  See below for a complete list of parameters
33 -target-help
34 Common
36 -version
37 Common
40 Common Joined Separate UInteger
41 -G<number>      Put global and static data smaller than <number> bytes into a special section (on some targets)
44 Common JoinedOrMissing
45 -O<number>      Set optimization level to <number>
48 Common
49 Optimize for space rather than speed
52 Common RejectNegative
53 This switch is deprecated; use -Wextra instead
55 Waggregate-return
56 Common
57 Warn about returning structures, unions or arrays
59 Wcast-align
60 Common
61 Warn about pointer casts which increase alignment
63 Wdeprecated-declarations
64 Common
65 Warn about uses of __attribute__((deprecated)) declarations
67 Wdisabled-optimization
68 Common
69 Warn when an optimization pass is disabled
71 Werror
72 Common
73 Treat all warnings as errors
75 Wextra
76 Common
77 Print extra (possibly unwanted) warnings
79 Wfatal-errors
80 Common
81 Exit on the first error occurred
83 Winline
84 Common
85 Warn when an inlined function cannot be inlined
87 Wlarger-than-
88 Common RejectNegative Joined UInteger
89 -Wlarger-than-<number>  Warn if an object is larger than <number> bytes
91 Wmissing-noreturn
92 Common
93 Warn about functions which might be candidates for __attribute__((noreturn))
95 Wpacked
96 Common
97 Warn when the packed attribute has no effect on struct layout
99 Wpadded
100 Common
101 Warn when padding is required to align structure members
103 Wshadow
104 Common
105 Warn when one local variable shadows another
107 Wstrict-aliasing
108 Common
109 Warn about code which might break strict aliasing rules
111 Wstrict-aliasing=
112 Common Joined UInteger
113 Warn about code which might break strict aliasing rules
115 Wswitch
116 Common
117 Warn about enumerated switches, with no default, missing a case
119 Wswitch-default
120 Common
121 Warn about enumerated switches missing a \"default:\" statement
123 Wswitch-enum
124 Common
125 Warn about all enumerated switches missing a specific case
127 Wsystem-headers
128 Common
129 Do not suppress warnings from system headers
131 Wuninitialized
132 Common
133 Warn about uninitialized automatic variables
135 Wunreachable-code
136 Common
137 Warn about code that will never be executed
139 Wunused
140 Common
141 Enable all -Wunused- warnings
143 Wunused-function
144 Common
145 Warn when a function is unused
147 Wunused-label
148 Common
149 Warn when a label is unused
151 Wunused-parameter
152 Common
153 Warn when a function parameter is unused
155 Wunused-value
156 Common
157 Warn when an expression value is unused
159 Wunused-variable
160 Common
161 Warn when a variable is unused
163 aux-info
164 Common Separate
165 -aux-info <file>        Emit declaration information into <file>
167 aux-info=
168 Common Joined
170 auxbase
171 Common Separate
173 auxbase-strip
174 Common Separate
177 Common Joined
178 -d<letters>     Enable dumps from specific passes of the compiler
180 dumpbase
181 Common Separate
182 -dumpbase <file>        Set the file basename to be used for dumps
184 fPIC
185 Common
187 fPIE
188 Common
190 fabi-version=
191 Common Joined UInteger
193 falign-functions
194 Common
195 Align the start of functions
197 falign-functions=
198 Common RejectNegative Joined UInteger
200 falign-jumps
201 Common
202 Align labels which are only reached by jumping
204 falign-jumps=
205 Common RejectNegative Joined UInteger
207 falign-labels
208 Common
209 Align all labels
211 falign-labels=
212 Common RejectNegative Joined UInteger
214 falign-loops
215 Common
216 Align the start of loops
218 falign-loops=
219 Common RejectNegative Joined UInteger
221 fargument-alias
222 Common
223 Specify that arguments may alias each other and globals
225 fargument-noalias
226 Common
227 Assume arguments may alias globals but not each other
229 fargument-noalias-global
230 Common
231 Assume arguments alias neither each other nor globals
233 fasynchronous-unwind-tables
234 Common
235 Generate unwind tables that are exact at each instruction boundary
237 fbounds-check
238 Common
239 Generate code to check bounds before indexing arrays
241 fbranch-count-reg
242 Common
243 Replace add, compare, branch with branch on count register
245 fbranch-probabilities
246 Common
247 Use profiling information for branch probabilities
249 fbranch-target-load-optimize
250 Common
251 Perform branch target load optimization before prologue / epilogue threading
253 fbranch-target-load-optimize2
254 Common
255 Perform branch target load optimization after prologue / epilogue threading
257 fbtr-bb-exclusive
258 Common
259 Restrict target load migration not to re-use registers in any basic block
261 fcall-saved-
262 Common Joined RejectNegative
263 -fcall-saved-<register> Mark <register> as being preserved across functions
265 fcall-used-
266 Common Joined RejectNegative
267 -fcall-used-<register>  Mark <register> as being corrupted by function calls
269 fcaller-saves
270 Common
271 Save registers around function calls
273 fcommon
274 Common
275 Do not put uninitialized globals in the common section
277 fcprop-registers
278 Common
279 Perform a register copy-propagation optimization pass
281 fcrossjumping
282 Common
283 Perform cross-jumping optimization
285 fcse-follow-jumps
286 Common
287 When running CSE, follow jumps to their targets
289 fcse-skip-blocks
290 Common
291 When running CSE, follow conditional jumps
293 fdata-sections
294 Common
295 Place data items into their own section
297 fdefer-pop
298 Common
299 Defer popping functions args from stack until later
301 fdelayed-branch
302 Common
303 Attempt to fill delay slots of branch instructions
305 fdelete-null-pointer-checks
306 Common
307 Delete useless null pointer checks
309 fdiagnostics-show-location=
310 Common Joined RejectNegative
311 -fdiagnostics-show-location=[once|every-line]   How often to emit source location at the beginning of line-wrapped diagnostics
313 fdump-unnumbered
314 Common
315 Suppress output of instruction numbers and line number notes in debugging dumps
317 feliminate-dwarf2-dups
318 Common
319 Perform DWARF2 duplicate elimination
321 feliminate-unused-debug-symbols
322 Common
323 Perform unused type elimination in debug info
325 feliminate-unused-debug-types
326 Common
327 Perform unused type elimination in debug info
329 fexceptions
330 Common
331 Enable exception handling
333 fexpensive-optimizations
334 Common
335 Perform a number of minor, expensive optimizations
337 ffast-math
338 Common
340 ffinite-math-only
341 Common
342 Assume no NaNs or infinities are generated
344 ffixed-
345 Common Joined RejectNegative
346 -ffixed-<register>      Mark <register> as being unavailable to the compiler
348 ffloat-store
349 Common
350 Do not store floats in registers
352 fforce-addr
353 Common
354 Copy memory address constants into registers before use
356 fforce-mem
357 Common
358 Copy memory operands into registers before use
360 ffunction-cse
361 Common
362 Allow function addresses to be held in registers
364 ffunction-sections
365 Common
366 Place each function into its own section
368 fgcse
369 Common
370 Perform global common subexpression elimination
372 fgcse-lm
373 Common
374 Perform enhanced load motion during global common subexpression elimination
376 fgcse-sm
377 Common
378 Perform store motion after global common subexpression elimination
380 fgcse-las
381 Common
382 Perform redundant load after store elimination in global common subexpression
383 elimination
385 fgcse-after-reload
386 Common
387 Perform global common subexpression elimination after register allocation
388 has finished.
390 fguess-branch-probability
391 Common
392 Enable guessing of branch probabilities
394 fident
395 Common
396 Process #ident directives
398 fif-conversion
399 Common
400 Perform conversion of conditional jumps to branchless equivalents
402 fif-conversion2
403 Common
404 Perform conversion of conditional jumps to conditional execution
406 finhibit-size-directive
407 Common
408 Do not generate .size directives
410 finline
411 Common
412 Pay attention to the \"inline\" keyword
414 finline-functions
415 Common
416 Integrate simple functions into their callers
418 finline-limit-
419 Common RejectNegative Joined UInteger
421 finline-limit=
422 Common RejectNegative Joined UInteger
423 -finline-limit=<number> Limit the size of inlined functions to <number>
425 finstrument-functions
426 Common
427 Instrument function entry and exit with profiling calls
429 fkeep-inline-functions
430 Common
431 Generate code for functions even if they are fully inlined
433 fkeep-static-consts
434 Common
435 Emit static const variables even if they are not used
437 fleading-underscore
438 Common
439 Give external symbols a leading underscore
441 floop-optimize
442 Common
443 Perform loop optimizations
445 fmath-errno
446 Common
447 Set errno after built-in math functions
449 fmem-report
450 Common
451 Report on permanent memory allocation
453 fmerge-all-constants
454 Common
455 Attempt to merge identical constants and constant variables
457 fmerge-constants
458 Common
459 Attempt to merge identical constants across compilation units
461 fmessage-length=
462 Common RejectNegative Joined UInteger
463 -fmessage-length=<number>       Limit diagnostics to <number> characters per line.  0 suppresses line-wrapping
465 fmove-all-movables
466 Common
467 Force all loop invariant computations out of loops
469 fnew-ra
470 Common
471 Use graph-coloring register allocation
473 fnon-call-exceptions
474 Common
475 Support synchronous non-call exceptions
477 fold-unroll-loops
478 Common
479 Perform loop unrolling when iteration count is known
481 fold-unroll-all-loops
482 Common
483 Perform loop unrolling for all loops
485 fomit-frame-pointer
486 Common
487 When possible do not generate stack frames
489 foptimize-register-move
490 Common
491 Do the full register move optimization pass
493 foptimize-sibling-calls
494 Common
495 Optimize sibling and tail recursive calls
497 fpack-struct
498 Common
499 Pack structure members together without holes
501 fpcc-struct-return
502 Common
503 Return small aggregates in memory, not registers
505 fpeel-loops
506 Common
507 Perform loop peeling
509 fpeephole
510 Common
511 Enable machine specific peephole optimizations
513 fpeephole2
514 Common
515 Enable an RTL peephole pass before sched2
517 fpic
518 Common
519 Generate position-independent code if possible
521 fpie
522 Common
523 Generate position-independent code for executables if possible
525 fprefetch-loop-arrays
526 Common
527 Generate prefetch instructions, if available, for arrays in loops
529 fprofile
530 Common
531 Enable basic program profiling code
533 fprofile-arcs
534 Common
535 Insert arc-based program profiling code
537 fprofile-generate
538 Common
539 Enable common options for generating profile info for profile feedback directed optimizations
541 fprofile-use
542 Common
543 Enable common options for performing profile feedback directed optimizations
545 fprofile-values
546 Common
547 Insert code to profile values of expressions
549 frandom-seed
550 Common
552 frandom-seed=
553 Common Joined RejectNegative
554 -frandom-seed=<string>  Make compile reproducible using <string>
556 freduce-all-givs
557 Common
558 Strength reduce all loop general induction variables
560 freg-struct-return
561 Common
562 Return small aggregates in registers
564 fregmove
565 Common
566 Enables a register move optimization
568 frename-registers
569 Common
570 Perform a register renaming optimization pass
572 freorder-blocks
573 Common
574 Reorder basic blocks to improve code placement
576 freorder-blocks-and-partition
577 Common
578 Reorder basic blocks and partition into hot and cold sections
580 freorder-functions
581 Common
582 Reorder functions to improve code placement
584 frerun-cse-after-loop
585 Common
586 Add a common subexpression elimination pass after loop optimizations
588 frerun-loop-opt
589 Common
590 Run the loop optimizer twice
592 frounding-math
593 Common
594 Disable optimizations that assume default FP rounding behavior
596 fsched-interblock
597 Common
598 Enable scheduling across basic blocks
600 fsched-spec
601 Common
602 Allow speculative motion of non-loads
604 fsched-spec-load
605 Common
606 Allow speculative motion of some loads
608 fsched-spec-load-dangerous
609 Common
610 Allow speculative motion of more loads
612 fsched-verbose=
613 Common RejectNegative Joined
614 -fsched-verbose=<number>        Set the verbosity level of the scheduler
616 fsched2-use-superblocks
617 Common
618 If scheduling post reload, do superblock scheduling
620 fsched2-use-traces
621 Common
622 If scheduling post reload, do trace scheduling
624 fschedule-insns
625 Common
626 Reschedule instructions before register allocation
628 fschedule-insns2
629 Common
630 Reschedule instructions after register allocation
632 fsched-stalled-insns
633 Common
634 Allow premature scheduling of queued insns
636 fsched-stalled-insns=
637 Common RejectNegative Joined UInteger 
638 -fsched-stalled-insns=<number>       Set number of queued insns that can be prematurely scheduled
640 fsched-stalled-insns-dep
641 Common
642 Set dependence distance checking in premature scheduling of queued insns
644 fsched-stalled-insns-dep=
645 Common RejectNegative Joined UInteger
646 -fsched-stalled-insns-dep=<number>   Set dependence distance checking in premature scheduling of queued insns
648 fshared-data
649 Common
650 Mark data as shared rather than private
652 fsignaling-nans
653 Common
654 Disable optimizations observable by IEEE signaling NaNs
656 fsingle-precision-constant
657 Common
658 Convert floating point constants to single precision constants
660 fstack-check
661 Common
662 Insert stack checking code into the program
664 fstack-limit
665 Common
667 fstack-limit-register=
668 Common RejectNegative Joined
669 -fstack-limit-register=<register>       Trap if the stack goes past <register>
671 fstack-limit-symbol=
672 Common RejectNegative Joined
673 -fstack-limit-symbol=<name>     Trap if the stack goes past symbol <name>
675 fstrength-reduce
676 Common
677 Perform strength reduction optimizations
679 fstrict-aliasing
680 Common
681 Assume strict aliasing rules apply
683 fsyntax-only
684 Common
685 Check for syntax errors, then stop
687 ftest-coverage
688 Common
689 Create data files needed by \"gcov\"
691 fthread-jumps
692 Common
693 Perform jump threading optimizations
695 ftime-report
696 Common
697 Report the time taken by each compiler pass
699 ftls-model=
700 Common Joined RejectNegative
701 -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]      Set the default thread-local storage code generation model
703 ftracer
704 Common
705 Perform superblock formation via tail duplication
707 ftrapping-math
708 Common
709 Assume floating-point operations can trap
711 ftrapv
712 Common
713 Trap for signed overflow in addition, subtraction and multiplication
715 funit-at-a-time
716 Common
717 Compile whole compilation unit at a time
719 funroll-loops
720 Common
721 Perform loop unrolling when iteration count is known
723 funroll-all-loops
724 Common
725 Perform loop unrolling for all loops
727 funsafe-math-optimizations
728 Common
729 Allow math optimizations that may violate IEEE or ISO standards
731 funswitch-loops
732 Common
733 Perform loop unswitching
735 funwind-tables
736 Common
737 Just generate unwind tables for exception handling
739 fvar-tracking
740 Common
741 Perform variable tracking
743 fverbose-asm
744 Common
745 Add extra commentary to assembler output
747 fvpt
748 Common
749 Use expression value profiles in optimizations
751 fweb
752 Common
753 Construct webs and split unrelated uses of single variable
755 fwrapv
756 Common
757 Assume signed arithmetic overflow wraps around
759 fzero-initialized-in-bss
760 Common
761 Put zero initialized data in the bss section
764 Common JoinedOrMissing
765 Generate debug information in default format
767 gcoff
768 Common JoinedOrMissing
769 Generate debug information in COFF format
771 gdwarf-2
772 Common JoinedOrMissing
773 Generate debug information in DWARF v2 format
775 ggdb
776 Common JoinedOrMissing
777 Generate debug information in default extended format
779 gstabs
780 Common JoinedOrMissing
781 Generate debug information in STABS format
783 gstabs+
784 Common JoinedOrMissing
785 Generate debug information in extended STABS format
787 gvms
788 Common JoinedOrMissing
789 Generate debug information in VMS format
791 gxcoff
792 Common JoinedOrMissing
793 Generate debug information in XCOFF format
795 gxcoff+
796 Common JoinedOrMissing
797 Generate debug information in extended XCOFF format
800 Common Joined
803 Common Joined Separate
804 -o <file>       Place output into <file>
807 Common
808 Enable function profiling
810 pedantic
811 Common
812 Issue warnings needed for strict compliance to the standard
814 pedantic-errors
815 Common
816 Like -pedantic but issue them as errors
818 quiet
819 Common
820 Do not display functions compiled or elapsed time
822 version
823 Common
824 Display the compiler's version
827 Common
828 Suppress warnings
830 ; This comment is to ensure we retain the blank line above.