* dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
[official-gcc.git] / gcc / common.opt
blob2ad0e0a58f6280510fc2365e68ad0ee40abaec21
1 ; Options for the language- and target-independent parts of the compiler.
2 ; Copyright (C) 2003 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 Winline
80 Common
81 Warn when an inlined function cannot be inlined
83 Wlarger-than-
84 Common RejectNegative Joined UInteger
85 -Wlarger-than-<number>  Warn if an object is larger than <number> bytes
87 Wmissing-noreturn
88 Common
89 Warn about functions which might be candidates for __attribute__((noreturn))
91 Wpacked
92 Common
93 Warn when the packed attribute has no effect on struct layout
95 Wpadded
96 Common
97 Warn when padding is required to align structure members
99 Wshadow
100 Common
101 Warn when one local variable shadows another
103 Wstrict-aliasing
104 Common
105 Warn about code which might break strict aliasing rules
107 Wswitch
108 Common
109 Warn about enumerated switches, with no default, missing a case
111 Wswitch-default
112 Common
113 Warn about enumerated switches missing a \"default:\" statement
115 Wswitch-enum
116 Common
117 Warn about all enumerated switches missing a specific case
119 Wsystem-headers
120 Common
121 Do not suppress warnings from system headers
123 Wuninitialized
124 Common
125 Warn about uninitialized automatic variables
127 Wunreachable-code
128 Common
129 Warn about code that will never be executed
131 Wunused
132 Common
133 Enable all -Wunused- warnings
135 Wunused-function
136 Common
137 Warn when a function is unused
139 Wunused-label
140 Common
141 Warn when a label is unused
143 Wunused-parameter
144 Common
145 Warn when a function parameter is unused
147 Wunused-value
148 Common
149 Warn when an expression value is unused
151 Wunused-variable
152 Common
153 Warn when a variable is unused
155 aux-info
156 Common Separate
157 -aux-info <file>        Emit declaration information into <file>
159 aux-info=
160 Common Joined
162 auxbase
163 Common Separate
165 auxbase-strip
166 Common Separate
169 Common Joined
170 -d<letters>     Enable dumps from specific passes of the compiler
172 dumpbase
173 Common Separate
174 -dumpbase <file>        Set the file basename to be used for dumps
176 fPIC
177 Common
179 fPIE
180 Common
182 falign-functions
183 Common
184 Align the start of functions
186 falign-functions=
187 Common RejectNegative Joined UInteger
189 falign-jumps
190 Common
191 Align labels which are only reached by jumping
193 falign-jumps=
194 Common RejectNegative Joined UInteger
196 falign-labels
197 Common
198 Align all labels
200 falign-labels=
201 Common RejectNegative Joined UInteger
203 falign-loops
204 Common
205 Align the start of loops
207 falign-loops=
208 Common RejectNegative Joined UInteger
210 fargument-alias
211 Common
212 Specify that arguments may alias each other and globals
214 fargument-noalias
215 Common
216 Assume arguments may alias globals but not each other
218 fargument-noalias-global
219 Common
220 Assume arguments alias neither each other nor globals
222 fasynchronous-unwind-tables
223 Common
224 Generate unwind tables that are exact at each instruction boundary
226 fbounds-check
227 Common
228 Generate code to check bounds before indexing arrays
230 fbranch-count-reg
231 Common
232 Replace add, compare, branch with branch on count register
234 fbranch-probabilities
235 Common
236 Use profiling information for branch probabilities
238 fbranch-target-load-optimize
239 Common
240 Perform branch target load optimization before prologue / epilogue threading
242 fbranch-target-load-optimize2
243 Common
244 Perform branch target load optimization after prologue / epilogue threading
246 fcall-saved-
247 Common Joined RejectNegative
248 -fcall-saved-<register> Mark <register> as being preserved across functions
250 fcall-used-
251 Common Joined RejectNegative
252 -fcall-used-<register>  Mark <register> as being corrupted by function calls
254 fcaller-saves
255 Common
256 Save registers around function calls
258 fcommon
259 Common
260 Do not put uninitialized globals in the common section
262 fcprop-registers
263 Common
264 Perform a register copy-propagation optimization pass
266 fcrossjumping
267 Common
268 Perform cross-jumping optimization
270 fcse-follow-jumps
271 Common
272 When running CSE, follow jumps to their targets
274 fcse-skip-blocks
275 Common
276 When running CSE, follow conditional jumps
278 fdata-sections
279 Common
280 Place data items into their own section
282 fdefer-pop
283 Common
284 Defer popping functions args from stack until later
286 fdelayed-branch
287 Common
288 Attempt to fill delay slots of branch instructions
290 fdelete-null-pointer-checks
291 Common
292 Delete useless null pointer checks
294 fdiagnostics-show-location=
295 Common Joined RejectNegative
296 -fdiagnostics-show-location=[once|every-line]   How often to emit source location at the beginning of line-wrapped diagnostics
298 fdump-unnumbered
299 Common
300 Suppress output of instruction numbers and line number notes in debugging dumps
302 feliminate-dwarf2-dups
303 Common
304 Perform DWARF2 duplicate elimination
306 feliminate-unused-debug-symbols
307 Common
308 Perform unused type elimination in debug info
310 feliminate-unused-debug-types
311 Common
312 Perform unused type elimination in debug info
314 fexceptions
315 Common
316 Enable exception handling
318 fexpensive-optimizations
319 Common
320 Perform a number of minor, expensive optimizations
322 ffast-math
323 Common
325 ffinite-math-only
326 Common
327 Assume no NaNs or infinities are generated
329 ffixed-
330 Common Joined RejectNegative
331 -ffixed-<register>      Mark <register> as being unavailable to the compiler
333 ffloat-store
334 Common
335 Do not store floats in registers
337 fforce-addr
338 Common
339 Copy memory address constants into registers before use
341 fforce-mem
342 Common
343 Copy memory operands into registers before use
345 ffunction-cse
346 Common
347 Allow function addresses to be held in registers
349 ffunction-sections
350 Common
351 Place each function into its own section
353 fgcse
354 Common
355 Perform global common subexpression elimination
357 fgcse-lm
358 Common
359 Perform enhanced load motion during global common subexpression elimination
361 fgcse-sm
362 Common
363 Perform store motion after global common subexpression elimination
365 fgcse-las
366 Common
367 Perform redundant load after store elimination in global common subexpression elimination
369 fgnu-linker
370 Common
371 Output GNU ld formatted global initializers
373 fguess-branch-probability
374 Common
375 Enable guessing of branch probabilities
377 fident
378 Common
379 Process #ident directives
381 fif-conversion
382 Common
383 Perform conversion of conditional jumps to branchless equivalents
385 fif-conversion2
386 Common
387 Perform conversion of conditional jumps to conditional execution
389 finhibit-size-directive
390 Common
391 Do not generate .size directives
393 finline
394 Common
395 Pay attention to the \"inline\" keyword
397 finline-functions
398 Common
399 Integrate simple functions into their callers
401 finline-limit-
402 Common RejectNegative Joined UInteger
404 finline-limit=
405 Common RejectNegative Joined UInteger
406 -finline-limit=<number> Limit the size of inlined functions to <number>
408 finstrument-functions
409 Common
410 Instrument function entry and exit with profiling calls
412 fkeep-inline-functions
413 Common
414 Generate code for functions even if they are fully inlined
416 fkeep-static-consts
417 Common
418 Emit static const variables even if they are not used
420 fleading-underscore
421 Common
422 Give external symbols a leading underscore
424 floop-optimize
425 Common
426 Perform loop optimizations
428 fmath-errno
429 Common
430 Set errno after built-in math functions
432 fmem-report
433 Common
434 Report on permanent memory allocation
436 fmerge-all-constants
437 Common
438 Attempt to merge identical constants and constant variables
440 fmerge-constants
441 Common
442 Attempt to merge identical constants across compilation units
444 fmessage-length=
445 Common RejectNegative Joined UInteger
446 -fmessage-length=<number>       Limit diagnostics to <number> characters per line.  0 suppresses line-wrapping
448 fmove-all-movables
449 Common
450 Force all loop invariant computations out of loops
452 fnew-ra
453 Common
454 Use graph-coloring register allocation
456 fnon-call-exceptions
457 Common
458 Support synchronous non-call exceptions
460 fold-unroll-loops
461 Common
462 Perform loop unrolling when iteration count is known
464 fold-unroll-all-loops
465 Common
466 Perform loop unrolling for all loops
468 fomit-frame-pointer
469 Common
470 When possible do not generate stack frames
472 foptimize-register-move
473 Common
474 Do the full register move optimization pass
476 foptimize-sibling-calls
477 Common
478 Optimize sibling and tail recursive calls
480 fpack-struct
481 Common
482 Pack structure members together without holes
484 fpcc-struct-return
485 Common
486 Return small aggregates in memory, not registers
488 fpeel-loops
489 Common
490 Perform loop peeling
492 fpeephole
493 Common
494 Enable machine specific peephole optimizations
496 fpeephole2
497 Common
498 Enable an RTL peephole pass before sched2
500 fpic
501 Common
502 Generate position-independent code if possible
504 fpie
505 Common
506 Generate position-independent code for executables if possible
508 fprefetch-loop-arrays
509 Common
510 Generate prefetch instructions, if available, for arrays in loops
512 fprofile
513 Common
514 Enable basic program profiling code
516 fprofile-arcs
517 Common
518 Insert arc-based program profiling code
520 fprofile-values
521 Common
522 Insert code to profile values of expressions
524 frandom-seed
525 Common
527 frandom-seed=
528 Common Joined RejectNegative
529 -frandom-seed=<string>  Make compile reproducible using <string>
531 freduce-all-givs
532 Common
533 Strength reduce all loop general induction variables
535 freg-struct-return
536 Common
537 Return small aggregates in registers
539 fregmove
540 Common
541 Enables a register move optimization
543 frename-registers
544 Common
545 Perform a register renaming optimization pass
547 freorder-blocks
548 Common
549 Reorder basic blocks to improve code placement
551 freorder-functions
552 Common
553 Reorder functions to improve code placement
555 frerun-cse-after-loop
556 Common
557 Add a common subexpression elimination pass after loop optimizations
559 frerun-loop-opt
560 Common
561 Run the loop optimizer twice
563 frounding-math
564 Common
565 Disable optimizations that assume default FP rounding behavior
567 fsched-interblock
568 Common
569 Enable scheduling across basic blocks
571 fsched-spec
572 Common
573 Allow speculative motion of non-loads
575 fsched-spec-load
576 Common
577 Allow speculative motion of some loads
579 fsched-spec-load-dangerous
580 Common
581 Allow speculative motion of more loads
583 fsched-verbose=
584 Common RejectNegative Joined
585 -fsched-verbose=<number>        Set the verbosity level of the scheduler
587 fsched2-use-superblocks
588 Common
589 If scheduling post reload, do superblock scheduling
591 fsched2-use-traces
592 Common
593 If scheduling post reload, do trace scheduling
595 fschedule-insns
596 Common
597 Reschedule instructions before register allocation
599 fschedule-insns2
600 Common
601 Reschedule instructions after register allocation
603 fsched-stalled-insns
604 Common
605 Allow premature scheduling of queued insns
607 fsched-stalled-insns=
608 Common RejectNegative Joined UInteger 
609 -fsched-stalled-insns=<number>       Set number of queued insns that can be prematurely scheduled
611 fsched-stalled-insns-dep
612 Common
613 Set dependence distance checking in premature scheduling of queued insns
615 fsched-stalled-insns-dep=
616 Common RejectNegative Joined UInteger
617 -fsched-stalled-insns-dep=<number>   Set dependence distance checking in premature scheduling of queued insns
619 fshared-data
620 Common
621 Mark data as shared rather than private
623 fsignaling-nans
624 Common
625 Disable optimizations observable by IEEE signaling NaNs
627 fsingle-precision-constant
628 Common
629 Convert floating point constants to single precision constants
631 fssa
632 Common
633 Enable static single assignment optimizations
635 fssa-ccp
636 Common
637 Enable SSA conditional constant propagation
639 fssa-dce
640 Common
641 Enable aggressive SSA dead code elimination
643 fstack-check
644 Common
645 Insert stack checking code into the program
647 fstack-limit
648 Common
650 fstack-limit-register=
651 Common RejectNegative Joined
652 -fstack-limit-register=<register>       Trap if the stack goes past <register>
654 fstack-limit-symbol=
655 Common RejectNegative Joined
656 -fstack-limit-symbol=<name>     Trap if the stack goes past symbol <name>
658 fstrength-reduce
659 Common
660 Perform strength reduction optimizations
662 fstrict-aliasing
663 Common
664 Assume strict aliasing rules apply
666 fsyntax-only
667 Common
668 Check for syntax errors, then stop
670 ftest-coverage
671 Common
672 Create data files needed by \"gcov\"
674 fthread-jumps
675 Common
676 Perform jump threading optimizations
678 ftime-report
679 Common
680 Report the time taken by each compiler pass
682 ftls-model=
683 Common Joined RejectNegative
684 -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]      Set the default thread-local storage code generation model
686 ftracer
687 Common
688 Perform superblock formation via tail duplication
690 ftrapping-math
691 Common
692 Assume floating-point operations can trap
694 ftrapv
695 Common
696 Trap for signed overflow in addition, subtraction and multiplication
698 funit-at-a-time
699 Common
700 Compile whole compilation unit at a time
702 funroll-loops
703 Common
704 Perform loop unrolling when iteration count is known
706 funroll-all-loops
707 Common
708 Perform loop unrolling for all loops
710 funsafe-math-optimizations
711 Common
712 Allow math optimizations that may violate IEEE or ISO standards
714 funswitch-loops
715 Common
716 Perform loop unswitching
718 funwind-tables
719 Common
720 Just generate unwind tables for exception handling
722 fverbose-asm
723 Common
724 Add extra commentary to assembler output
726 fvpt
727 Common
728 Use expression value profiles in optimizations
730 fweb
731 Common
732 Construct webs and split unrelated uses of single variable
734 fwrapv
735 Common
736 Assume signed arithmetic overflow wraps around
738 fwritable-strings
739 Common
740 Store strings in writable data section
742 fzero-initialized-in-bss
743 Common
744 Put zero initialized data in the bss section
747 Common JoinedOrMissing
748 Generate debug information in default format
750 gcoff
751 Common JoinedOrMissing
752 Generate debug information in COFF format
754 gdwarf
755 Common JoinedOrMissing
756 Generate debug information in DWARF v1 format
758 gdwarf+
759 Common JoinedOrMissing
760 Generate debug information in extended DWARF v1 format
762 gdwarf-2
763 Common JoinedOrMissing
764 Generate debug information in DWARF v2 format
766 ggdb
767 Common JoinedOrMissing
768 Generate debug information in default extended format
770 gstabs
771 Common JoinedOrMissing
772 Generate debug information in STABS format
774 gstabs+
775 Common JoinedOrMissing
776 Generate debug information in extended STABS format
778 gvms
779 Common JoinedOrMissing
780 Generate debug information in VMS format
782 gxcoff
783 Common JoinedOrMissing
784 Generate debug information in XCOFF format
786 gxcoff+
787 Common JoinedOrMissing
788 Generate debug information in extended XCOFF format
791 Common Joined
794 Common Joined Separate
795 -o <file>       Place output into <file>
798 Common
799 Enable function profiling
801 pedantic
802 Common
803 Issue warnings needed for strict compliance to the standard
805 pedantic-errors
806 Common
807 Like -pedantic but issue them as errors
809 quiet
810 Common
811 Do not display functions compiled or elapsed time
813 version
814 Common
815 Display the compiler's version
818 Common
819 Suppress warnings
821 ; This comment is to ensure we retain the blank line above.