xref: /dragonfly/contrib/gcc-4.7/gcc/common.opt (revision 4d0c54c1)
1; Options for the language- and target-independent parts of the compiler.
2
3; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
4; Free Software Foundation, Inc.
5;
6; This file is part of GCC.
7;
8; GCC is free software; you can redistribute it and/or modify it under
9; the terms of the GNU General Public License as published by the Free
10; Software Foundation; either version 3, or (at your option) any later
11; version.
12;
13; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
14; WARRANTY; without even the implied warranty of MERCHANTABILITY or
15; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
16; for more details.
17;
18; You should have received a copy of the GNU General Public License
19; along with GCC; see the file COPYING3.  If not see
20; <http://www.gnu.org/licenses/>.
21
22; See the GCC internals manual (options.texi) for a description of this file's format.
23
24; Please try to keep this file in ASCII collating order.
25
26Variable
27int target_flags
28
29Variable
30int optimize
31
32Variable
33int optimize_size
34
35; Not used directly to control optimizations, only to save -Ofast
36; setting for "optimize" attributes.
37Variable
38int optimize_fast
39
40; True if this is the lto front end.  This is used to disable gimple
41; generation and lowering passes that are normally run on the output
42; of a front end.  These passes must be bypassed for lto since they
43; have already been done before the gimple was written.
44Variable
45bool in_lto_p = false
46
47; 0 means straightforward implementation of complex divide acceptable.
48; 1 means wide ranges of inputs must work for complex divide.
49; 2 means C99-like requirements for complex multiply and divide.
50Variable
51int flag_complex_method = 1
52
53; Nonzero if subexpressions must be evaluated from left-to-right.
54Variable
55int flag_evaluation_order = 0
56
57; Language specific warning pass for unused results.
58Variable
59bool flag_warn_unused_result = false
60
61Variable
62int *param_values
63
64; Nonzero if we should write GIMPLE bytecode for link-time optimization.
65Variable
66int flag_generate_lto
67
68; True to warn about any objects definitions whose size is larger
69; than N bytes.  Also want about function definitions whose returned
70; values are larger than N bytes, where N is 'larger_than_size'.
71Variable
72bool warn_larger_than
73
74Variable
75HOST_WIDE_INT larger_than_size
76
77; True to warn about any function whose frame size is larger
78; than N bytes.
79Variable
80bool warn_frame_larger_than
81
82Variable
83HOST_WIDE_INT frame_larger_than_size
84
85; Nonzero means we should be saving declaration info into a .X file.
86Variable
87int flag_gen_aux_info = 0
88
89; Nonzero if we are compiling code for a shared library, zero for
90; executable.
91Variable
92int flag_shlib
93
94; These two are really VEC(char_p,heap) *.
95
96Variable
97void *flag_instrument_functions_exclude_functions
98
99Variable
100void *flag_instrument_functions_exclude_files
101
102; Generic structs (e.g. templates not explicitly specialized)
103; may not have a compilation unit associated with them, and so
104; may need to be treated differently from ordinary structs.
105;
106; Structs only handled by reference (indirectly), will also usually
107; not need as much debugging information.
108
109Variable
110enum debug_struct_file debug_struct_ordinary[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }
111
112Variable
113enum debug_struct_file debug_struct_generic[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }
114
115; True if we should exit after parsing options.
116Variable
117bool exit_after_options
118
119; Type(s) of debugging information we are producing (if any).  See
120; flag-types.h for the definitions of the different possible types of
121; debugging information.
122Variable
123enum debug_info_type write_symbols = NO_DEBUG
124
125; Level of debugging information we are producing.  See flag-types.h
126; for the definitions of the different possible levels.
127Variable
128enum debug_info_levels debug_info_level = DINFO_LEVEL_NONE
129
130; Nonzero means use GNU-only extensions in the generated symbolic
131; debugging information.  Currently, this only has an effect when
132; write_symbols is set to DBX_DEBUG, XCOFF_DEBUG, or DWARF_DEBUG.
133Variable
134bool use_gnu_debug_info_extensions
135
136; Original value of maximum field alignment in bytes, specified via
137; -fpack-struct=<value>.
138Variable
139unsigned int initial_max_fld_align = TARGET_DEFAULT_PACK_STRUCT
140
141Variable
142enum vect_verbosity_levels user_vect_verbosity_level = MAX_VERBOSITY_LEVEL
143
144; Type of stack check.
145Variable
146enum stack_check_type flag_stack_check = NO_STACK_CHECK
147
148; True if stack usage information needs to be computed.
149Variable
150bool flag_stack_usage_info = false
151
152; -dA causes debug commentary information to be produced in
153; the generated assembly code (to make it more readable).  This option
154; is generally only of use to those who actually need to read the
155; generated assembly code (perhaps while debugging the compiler itself).
156; Currently, this switch is only used by dwarf2out.c; however, it is intended
157; to be a catchall for printing debug information in the assembler file.
158Variable
159int flag_debug_asm
160
161; -dP causes the rtl to be emitted as a comment in assembly.
162Variable
163int flag_dump_rtl_in_asm
164
165; Whether -da was passed (used only in handle_common_deferred_options).
166Variable
167bool flag_dump_all_passed
168
169; Other flags saying which kinds of debugging dump have been requested.
170
171Variable
172int rtl_dump_and_exit
173
174Variable
175int flag_print_asm_name
176
177Variable
178enum graph_dump_types graph_dump_format = no_graph
179
180; Name of top-level original source file (what was input to cpp).
181; This comes from the #-command at the beginning of the actual input.
182; If there isn't any there, then this is the cc1 input file name.
183Variable
184const char *main_input_filename
185
186; Pointer to base name in main_input_filename, with directories and a
187; single final extension removed, and the length of this base
188; name.
189
190Variable
191const char *main_input_basename
192
193Variable
194int main_input_baselength
195
196; Which options have been printed by --help.
197Variable
198char *help_printed
199
200; Which enums have been printed by --help.  0 = not printed, no
201; relevant options seen, 1 = relevant option seen, not yet printed, 2
202; = printed.
203Variable
204char *help_enum_printed
205
206; The number of columns for --help output.
207Variable
208unsigned int help_columns
209
210; Whether this options structure has been through finish_options
211Variable
212bool flag_opts_finished
213
214###
215Driver
216
217-assemble
218Driver Alias(S)
219
220-compile
221Driver Alias(c)
222
223-coverage
224Driver Alias(coverage)
225
226-debug
227Common Alias(g)
228
229-dump
230Common Separate Alias(d)
231
232-dump=
233Common Joined Alias(d)
234
235-dumpbase
236Common Separate Alias(dumpbase)
237
238-dumpdir
239Common Separate Alias(dumpdir)
240
241-entry
242Driver Separate Alias(e)
243
244-entry=
245Driver Joined Alias(e)
246
247-extra-warnings
248Common Warning Alias(Wextra)
249
250-for-assembler
251Driver Separate Alias(Xassembler)
252
253-for-assembler=
254Driver JoinedOrMissing Alias(Xassembler)
255
256-for-linker
257Driver Separate Alias(Xlinker)
258
259-for-linker=
260Driver JoinedOrMissing Alias(Xlinker)
261
262-force-link
263Driver Separate Alias(u)
264
265-force-link=
266Driver Joined Alias(u)
267
268-help
269Common Driver Var(help_flag)
270Display this information
271
272-help=
273Common Driver Report Joined
274--help=<class>	Display descriptions of a specific class of options.  <class> is one or more of optimizers, target, warnings, undocumented, params
275
276-language
277Driver Separate Alias(x)
278
279-language=
280Driver Joined Alias(x)
281
282-library-directory
283Driver Separate Alias(L)
284
285-library-directory=
286Driver Joined Alias(L)
287
288-no-canonical-prefixes
289Driver Alias(no-canonical-prefixes)
290
291-no-standard-libraries
292Driver Alias(nostdlib)
293
294-no-warnings
295Common Alias(w)
296
297-optimize
298Common Alias(O)
299
300-output
301Common Driver Separate Alias(o) MissingArgError(missing filename after %qs)
302
303-output=
304Common Driver Joined Alias(o) MissingArgError(missing filename after %qs)
305
306-pass-exit-codes
307Driver Alias(pass-exit-codes)
308
309-pedantic
310Common Alias(pedantic)
311
312-pedantic-errors
313Common Alias(pedantic-errors)
314
315-pie
316Driver Alias(pie)
317
318-pipe
319Driver Alias(pipe)
320
321-prefix
322Driver Separate Alias(B)
323
324-prefix=
325Driver JoinedOrMissing Alias(B)
326
327-preprocess
328Driver Alias(E)
329
330-print-file-name
331Driver Separate Alias(print-file-name=)
332
333-print-file-name=
334Driver JoinedOrMissing Alias(print-file-name=)
335
336-print-libgcc-file-name
337Driver Alias(print-libgcc-file-name)
338
339-print-multi-directory
340Driver Alias(print-multi-directory)
341
342-print-multi-lib
343Driver Alias(print-multi-lib)
344
345-print-multi-os-directory
346Driver Alias(print-multi-os-directory)
347
348-print-prog-name
349Driver Separate Alias(print-prog-name=)
350
351-print-prog-name=
352Driver JoinedOrMissing Alias(print-prog-name=)
353
354-print-search-dirs
355Driver Alias(print-search-dirs)
356
357-print-sysroot
358Driver Alias(print-sysroot)
359
360-print-sysroot-headers-suffix
361Driver Alias(print-sysroot-headers-suffix)
362
363-profile
364Common Alias(p)
365
366-save-temps
367Driver Alias(save-temps)
368
369-shared
370Driver Alias(shared)
371
372-specs
373Driver Separate Alias(specs=)
374
375-specs=
376Driver Joined Alias(specs=)
377
378-static
379Driver Alias(static)
380
381-symbolic
382Driver Alias(symbolic)
383
384-target-help
385Common Driver
386Alias for --help=target
387
388-time
389Driver Alias(time)
390
391-verbose
392Driver Alias(v)
393
394;; The driver used to convert options such as --help into forms such
395;; as -fhelp; the following four entries are for compatibility with
396;; any direct uses of those (undocumented) -f forms
397fhelp
398Common Driver Alias(-help)
399
400fhelp=
401Common Driver Joined Alias(-help=)
402
403ftarget-help
404Common Driver Alias(-target-help)
405
406fversion
407Common Driver Alias(-version)
408
409-param
410Common Separate
411--param <param>=<value>	Set parameter <param> to value.  See below for a complete list of parameters
412
413-param=
414Common Joined Alias(-param)
415
416-sysroot
417Driver Separate Alias(-sysroot=)
418
419-sysroot=
420Driver JoinedOrMissing
421
422-version
423Common Driver
424
425B
426Driver Joined Separate
427
428E
429Driver
430
431L
432Driver Joined Separate
433
434N
435Driver
436
437O
438Common JoinedOrMissing Optimization
439-O<number>	Set optimization level to <number>
440
441Os
442Common Optimization
443Optimize for space rather than speed
444
445Ofast
446Common Optimization
447Optimize for speed disregarding exact standards compliance
448
449Q
450Driver
451
452Qn
453Driver Negative(Qy)
454
455Qy
456Driver Negative(Qn)
457
458R
459Driver Joined Separate
460
461S
462Driver
463
464T
465Driver Joined Separate
466
467Tbss
468Driver Separate
469
470Tbss=
471Driver Joined
472
473Tdata
474Driver Separate
475
476Tdata=
477Driver Joined
478
479Ttext
480Driver Separate
481
482Ttext=
483Driver Joined
484
485W
486Common RejectNegative Warning Alias(Wextra)
487This switch is deprecated; use -Wextra instead
488
489Wa,
490Driver JoinedOrMissing
491
492Wl,
493Driver JoinedOrMissing
494
495Wp,
496Driver JoinedOrMissing
497
498Waggregate-return
499Common Var(warn_aggregate_return) Warning
500Warn about returning structures, unions or arrays
501
502Warray-bounds
503Common Var(warn_array_bounds) Warning
504Warn if an array is accessed out of bounds
505
506Wattributes
507Common Var(warn_attributes) Init(1) Warning
508Warn about inappropriate attribute usage
509
510Wcast-align
511Common Var(warn_cast_align) Warning
512Warn about pointer casts which increase alignment
513
514Wcpp
515Common Var(warn_cpp) Init(1) Warning
516Warn when a #warning directive is encountered
517
518Wdeprecated-declarations
519Common Var(warn_deprecated_decl) Init(1) Warning
520Warn about uses of __attribute__((deprecated)) declarations
521
522Wdisabled-optimization
523Common Var(warn_disabled_optimization) Warning
524Warn when an optimization pass is disabled
525
526Werror
527Common Var(warnings_are_errors)
528Treat all warnings as errors
529
530Werror=
531Common Joined
532Treat specified warning as error
533
534Wextra
535Common Var(extra_warnings) Warning
536Print extra (possibly unwanted) warnings
537
538Wfatal-errors
539Common Var(flag_fatal_errors)
540Exit on the first error occurred
541
542Wframe-larger-than=
543Common RejectNegative Joined UInteger
544-Wframe-larger-than=<number>	Warn if a function's stack frame requires more than <number> bytes
545
546Wfree-nonheap-object
547Common Var(warn_free_nonheap_object) Init(1) Warning
548Warn when attempting to free a non-heap object
549
550Winline
551Common Var(warn_inline) Warning
552Warn when an inlined function cannot be inlined
553
554Winvalid-memory-model
555Common Var(warn_invalid_memory_model) Init(1) Warning
556Warn when an atomic memory model parameter is known to be outside the valid range.
557
558Wlarger-than-
559Common RejectNegative Joined Warning Undocumented Alias(Wlarger-than=)
560
561Wlarger-than=
562Common RejectNegative Joined UInteger Warning
563-Wlarger-than=<number>	Warn if an object is larger than <number> bytes
564
565Wunsafe-loop-optimizations
566Common Var(warn_unsafe_loop_optimizations) Warning
567Warn if the loop cannot be optimized due to nontrivial assumptions.
568
569Wmissing-noreturn
570Common Var(warn_missing_noreturn) Warning
571Warn about functions which might be candidates for __attribute__((noreturn))
572
573Woverflow
574Common Var(warn_overflow) Init(1) Warning
575Warn about overflow in arithmetic expressions
576
577Wpacked
578Common Var(warn_packed) Warning
579Warn when the packed attribute has no effect on struct layout
580
581Wpadded
582Common Var(warn_padded) Warning
583Warn when padding is required to align structure members
584
585Wshadow
586Common Var(warn_shadow) Warning
587Warn when one local variable shadows another
588
589Wstack-protector
590Common Var(warn_stack_protect) Warning
591Warn when not issuing stack smashing protection for some reason
592
593Wstack-usage=
594Common Joined RejectNegative UInteger Var(warn_stack_usage) Init(-1) Warning
595Warn if stack usage might be larger than specified amount
596
597Wstrict-aliasing
598Common Warning
599Warn about code which might break strict aliasing rules
600
601Wstrict-aliasing=
602Common Joined RejectNegative UInteger Var(warn_strict_aliasing) Init(-1) Warning
603Warn about code which might break strict aliasing rules
604
605Wstrict-overflow
606Common Warning
607Warn about optimizations that assume that signed overflow is undefined
608
609Wstrict-overflow=
610Common Joined RejectNegative UInteger Var(warn_strict_overflow) Init(-1) Warning
611Warn about optimizations that assume that signed overflow is undefined
612
613Wsuggest-attribute=const
614Common Var(warn_suggest_attribute_const) Warning
615Warn about functions which might be candidates for __attribute__((const))
616
617Wsuggest-attribute=pure
618Common Var(warn_suggest_attribute_pure) Warning
619Warn about functions which might be candidates for __attribute__((pure))
620
621Wsuggest-attribute=noreturn
622Common Var(warn_suggest_attribute_noreturn) Warning
623Warn about functions which might be candidates for __attribute__((noreturn))
624
625Wswitch
626Common Var(warn_switch) Warning
627Warn about enumerated switches, with no default, missing a case
628
629Wswitch-default
630Common Var(warn_switch_default) Warning
631Warn about enumerated switches missing a \"default:\" statement
632
633Wswitch-enum
634Common Var(warn_switch_enum) Warning
635Warn about all enumerated switches missing a specific case
636
637Wsystem-headers
638Common Var(warn_system_headers) Warning
639Do not suppress warnings from system headers
640
641Wtrampolines
642Common Var(warn_trampolines) Warning
643Warn whenever a trampoline is generated
644
645Wtype-limits
646Common Var(warn_type_limits) Init(-1) Warning
647Warn if a comparison is always true or always false due to the limited range of the data type
648
649Wuninitialized
650Common Var(warn_uninitialized) Init(-1) Warning
651Warn about uninitialized automatic variables
652
653Wmaybe-uninitialized
654Common Var(warn_maybe_uninitialized) Warning
655Warn about maybe uninitialized automatic variables
656
657Wunreachable-code
658Common Ignore
659Does nothing. Preserved for backward compatibility.
660
661Wunused
662Common Var(warn_unused) Init(0) Warning
663Enable all -Wunused- warnings
664
665Wunused-but-set-parameter
666Common Var(warn_unused_but_set_parameter) Init(-1) Warning
667Warn when a function parameter is only set, otherwise unused
668
669Wunused-but-set-variable
670Common Var(warn_unused_but_set_variable) Init(-1) Warning
671Warn when a variable is only set, otherwise unused
672
673Wunused-function
674Common Var(warn_unused_function) Init(-1) Warning
675Warn when a function is unused
676
677Wunused-label
678Common Var(warn_unused_label) Init(-1) Warning
679Warn when a label is unused
680
681Wunused-parameter
682Common Var(warn_unused_parameter) Init(-1) Warning
683Warn when a function parameter is unused
684
685Wunused-value
686Common Var(warn_unused_value) Init(-1) Warning
687Warn when an expression value is unused
688
689Wunused-variable
690Common Var(warn_unused_variable) Init(-1) Warning
691Warn when a variable is unused
692
693Wcoverage-mismatch
694Common Var(warn_coverage_mismatch) Init(1) Warning
695Warn in case profiles in -fprofile-use do not match
696
697Wvector-operation-performance
698Common Var(warn_vector_operation_performance) Warning
699Warn when a vector operation is compiled outside the SIMD
700
701Xassembler
702Driver Separate
703
704Xlinker
705Driver Separate
706
707Xpreprocessor
708Driver Separate
709
710Z
711Driver
712
713aux-info
714Common Separate Var(aux_info_file_name)
715-aux-info <file>	Emit declaration information into <file>
716
717aux-info=
718Common Joined Alias(aux-info)
719
720auxbase
721Common Separate RejectDriver Var(aux_base_name)
722
723auxbase-strip
724Common Separate RejectDriver
725
726coverage
727Driver
728
729c
730Driver
731
732d
733Common Joined
734-d<letters>	Enable dumps from specific passes of the compiler
735
736dumpbase
737Common Separate Var(dump_base_name)
738-dumpbase <file>	Set the file basename to be used for dumps
739
740dumpdir
741Common Separate Var(dump_dir_name)
742-dumpdir <dir>	Set the directory name to be used for dumps
743
744dumpmachine
745Driver
746
747dumpspecs
748Driver
749
750dumpversion
751Driver
752
753e
754Driver Joined Separate
755
756; This option has historically been passed down to the linker by an
757; accident of a %{e*} spec, so ensure it continues to be passed down
758; as a single option.  The supported option for this purpose is
759; -rdynamic.  See PR 47390.
760export-dynamic
761Driver Undocumented
762
763; The version of the C++ ABI in use.  The following values are allowed:
764;
765; 0: The version of the ABI believed most conformant with the C++ ABI
766;    specification.  This ABI may change as bugs are discovered and fixed.
767;    Therefore, 0 will not necessarily indicate the same ABI in different
768;    versions of G++.
769;
770; 1: The version of the ABI first used in G++ 3.2.
771;
772; 2: The version of the ABI first used in G++ 3.4 (and current default).
773;
774; 3: The version of the ABI that fixes the missing underscore
775;    in template non-type arguments of pointer type.
776;
777; 4: The version of the ABI that introduces unambiguous mangling of
778;    vector types.  First selectable in G++ 4.5.
779;
780; 5: The version of the ABI that ignores attribute const/noreturn
781;    in function pointer mangling, and corrects mangling of decltype and
782;    function parameters used in other parameters and the return type.
783;    First selectable in G++ 4.6.
784;
785; 6: The version of the ABI that doesn't promote scoped enums to int and
786;    changes the mangling of template argument packs, const/static_cast,
787;    prefix ++ and --, and a class scope function used as a template
788;    argument.
789;    First selectable in G++ 4.7.
790;
791; Additional positive integers will be assigned as new versions of
792; the ABI become the default version of the ABI.
793fabi-version=
794Common Joined RejectNegative UInteger Var(flag_abi_version) Init(2)
795
796falign-functions
797Common Report Var(align_functions,0) Optimization UInteger
798Align the start of functions
799
800falign-functions=
801Common RejectNegative Joined UInteger Var(align_functions)
802
803falign-jumps
804Common Report Var(align_jumps,0) Optimization UInteger
805Align labels which are only reached by jumping
806
807falign-jumps=
808Common RejectNegative Joined UInteger Var(align_jumps)
809
810falign-labels
811Common Report Var(align_labels,0) Optimization UInteger
812Align all labels
813
814falign-labels=
815Common RejectNegative Joined UInteger Var(align_labels)
816
817falign-loops
818Common Report Var(align_loops,0) Optimization UInteger
819Align the start of loops
820
821falign-loops=
822Common RejectNegative Joined UInteger Var(align_loops)
823
824fargument-alias
825Common Ignore
826Does nothing. Preserved for backward compatibility.
827
828fargument-noalias
829Common Ignore
830Does nothing. Preserved for backward compatibility.
831
832fargument-noalias-global
833Common Ignore
834Does nothing. Preserved for backward compatibility.
835
836fargument-noalias-anything
837Common Ignore
838Does nothing. Preserved for backward compatibility.
839
840fasynchronous-unwind-tables
841Common Report Var(flag_asynchronous_unwind_tables) Optimization
842Generate unwind tables that are exact at each instruction boundary
843
844fauto-inc-dec
845Common Report Var(flag_auto_inc_dec) Init(1)
846Generate auto-inc/dec instructions
847
848; -fcheck-bounds causes gcc to generate array bounds checks.
849; For C, C++ and ObjC: defaults off.
850; For Java: defaults to on.
851; For Fortran: defaults to off.
852fbounds-check
853Common Report Var(flag_bounds_check)
854Generate code to check bounds before indexing arrays
855
856fbranch-count-reg
857Common Report Var(flag_branch_on_count_reg) Init(1) Optimization
858Replace add, compare, branch with branch on count register
859
860fbranch-probabilities
861Common Report Var(flag_branch_probabilities) Optimization
862Use profiling information for branch probabilities
863
864fbranch-target-load-optimize
865Common Report Var(flag_branch_target_load_optimize) Optimization
866Perform branch target load optimization before prologue / epilogue threading
867
868fbranch-target-load-optimize2
869Common Report Var(flag_branch_target_load_optimize2) Optimization
870Perform branch target load optimization after prologue / epilogue threading
871
872fbtr-bb-exclusive
873Common Report Var(flag_btr_bb_exclusive) Optimization
874Restrict target load migration not to re-use registers in any basic block
875
876fcall-saved-
877Common Joined RejectNegative Var(common_deferred_options) Defer
878-fcall-saved-<register>	Mark <register> as being preserved across functions
879
880fcall-used-
881Common Joined RejectNegative Var(common_deferred_options) Defer
882-fcall-used-<register>	Mark <register> as being corrupted by function calls
883
884; Nonzero for -fcaller-saves: allocate values in regs that need to
885; be saved across function calls, if that produces overall better code.
886; Optional now, so people can test it.
887fcaller-saves
888Common Report Var(flag_caller_saves) Optimization
889Save registers around function calls
890
891fcheck-data-deps
892Common Report Var(flag_check_data_deps)
893Compare the results of several data dependence analyzers.
894
895fcombine-stack-adjustments
896Common Report Var(flag_combine_stack_adjustments) Optimization
897Looks for opportunities to reduce stack adjustments and stack references.
898
899fcommon
900Common Report Var(flag_no_common,0) Optimization
901Do not put uninitialized globals in the common section
902
903fcompare-debug
904Driver
905; Converted by the driver to -fcompare-debug= options.
906
907fcompare-debug=
908Common Driver JoinedOrMissing RejectNegative Var(flag_compare_debug_opt)
909-fcompare-debug[=<opts>]	Compile with and without e.g. -gtoggle, and compare the final-insns dump
910
911fcompare-debug-second
912Common Driver RejectNegative Var(flag_compare_debug)
913Run only the second compilation of -fcompare-debug
914
915fcompare-elim
916Common Report Var(flag_compare_elim_after_reload) Optimization
917Perform comparison elimination after register allocation has finished
918
919fconserve-stack
920Common Var(flag_conserve_stack) Optimization
921Do not perform optimizations increasing noticeably stack usage
922
923fcprop-registers
924Common Report Var(flag_cprop_registers) Optimization
925Perform a register copy-propagation optimization pass
926
927fcrossjumping
928Common Report Var(flag_crossjumping) Optimization
929Perform cross-jumping optimization
930
931fcse-follow-jumps
932Common Report Var(flag_cse_follow_jumps) Optimization
933When running CSE, follow jumps to their targets
934
935fcse-skip-blocks
936Common Ignore
937Does nothing.  Preserved for backward compatibility.
938
939fcx-limited-range
940Common Report Var(flag_cx_limited_range) Optimization SetByCombined
941Omit range reduction step when performing complex division
942
943fcx-fortran-rules
944Common Report Var(flag_cx_fortran_rules) Optimization
945Complex multiplication and division follow Fortran rules
946
947fdata-sections
948Common Report Var(flag_data_sections) Optimization
949Place data items into their own section
950
951fdbg-cnt-list
952Common Report Var(common_deferred_options) Defer
953List all available debugging counters with their limits and counts.
954
955fdbg-cnt=
956Common RejectNegative Joined Var(common_deferred_options) Defer
957-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...]	Set the debug counter limit.
958
959fdebug-prefix-map=
960Common Joined RejectNegative Var(common_deferred_options) Defer
961Map one directory name to another in debug information
962
963fdebug-types-section
964Common Report Var(flag_debug_types_section) Init(1)
965Output .debug_types section when using DWARF v4 debuginfo.
966
967; Nonzero for -fdefer-pop: don't pop args after each function call
968; instead save them up to pop many calls' args with one insns.
969fdefer-pop
970Common Report Var(flag_defer_pop) Optimization
971Defer popping functions args from stack until later
972
973fdelayed-branch
974Common Report Var(flag_delayed_branch) Optimization
975Attempt to fill delay slots of branch instructions
976
977fdelete-null-pointer-checks
978Common Report Var(flag_delete_null_pointer_checks) Init(1) Optimization
979Delete useless null pointer checks
980
981fdevirtualize
982Common Report Var(flag_devirtualize) Optimization
983Try to convert virtual calls to direct ones.
984
985fdiagnostics-show-location=
986Common Joined RejectNegative Enum(diagnostic_prefixing_rule)
987-fdiagnostics-show-location=[once|every-line]	How often to emit source location at the beginning of line-wrapped diagnostics
988
989; Required for these enum values.
990SourceInclude
991pretty-print.h
992
993Enum
994Name(diagnostic_prefixing_rule) Type(int)
995
996EnumValue
997Enum(diagnostic_prefixing_rule) String(once) Value(DIAGNOSTICS_SHOW_PREFIX_ONCE)
998
999EnumValue
1000Enum(diagnostic_prefixing_rule) String(every-line) Value(DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE)
1001
1002fdiagnostics-show-option
1003Common Var(flag_diagnostics_show_option) Init(1)
1004Amend appropriate diagnostic messages with the command line option that controls them
1005
1006fdisable-
1007Common Joined RejectNegative Var(common_deferred_options) Defer
1008-fdisable-[tree|rtl|ipa]-<pass>=range1+range2 disables an optimization pass
1009
1010fenable-
1011Common Joined RejectNegative Var(common_deferred_options) Defer
1012-fenable-[tree|rtl|ipa]-<pass>=range1+range2 enables an optimization pass
1013
1014fdump-
1015Common Joined RejectNegative Var(common_deferred_options) Defer
1016-fdump-<type>	Dump various compiler internals to a file
1017
1018fdump-final-insns
1019Driver RejectNegative
1020
1021fdump-final-insns=
1022Common RejectNegative Joined Var(flag_dump_final_insns)
1023-fdump-final-insns=filename	Dump to filename the insns at the end of translation
1024
1025fdump-go-spec=
1026Common RejectNegative Joined Var(flag_dump_go_spec)
1027-fdump-go-spec=filename	Write all declarations to file as Go code
1028
1029fdump-noaddr
1030Common Report Var(flag_dump_noaddr)
1031Suppress output of addresses in debugging dumps
1032
1033fdump-passes
1034Common Var(flag_dump_passes) Init(0)
1035Dump optimization passes
1036
1037fdump-unnumbered
1038Common Report Var(flag_dump_unnumbered)
1039Suppress output of instruction numbers, line number notes and addresses in debugging dumps
1040
1041fdump-unnumbered-links
1042Common Report Var(flag_dump_unnumbered_links)
1043Suppress output of previous and next insn numbers in debugging dumps
1044
1045fdwarf2-cfi-asm
1046Common Report Var(flag_dwarf2_cfi_asm) Init(HAVE_GAS_CFI_DIRECTIVE)
1047Enable CFI tables via GAS assembler directives.
1048
1049fearly-inlining
1050Common Report Var(flag_early_inlining) Init(1) Optimization
1051Perform early inlining
1052
1053feliminate-dwarf2-dups
1054Common Report Var(flag_eliminate_dwarf2_dups)
1055Perform DWARF2 duplicate elimination
1056
1057fipa-sra
1058Common Report Var(flag_ipa_sra) Init(0) Optimization
1059Perform interprocedural reduction of aggregates
1060
1061feliminate-unused-debug-symbols
1062Common Report Var(flag_debug_only_used_symbols)
1063Perform unused type elimination in debug info
1064
1065feliminate-unused-debug-types
1066Common Report Var(flag_eliminate_unused_debug_types) Init(1)
1067Perform unused type elimination in debug info
1068
1069femit-class-debug-always
1070Common Report Var(flag_emit_class_debug_always) Init(0)
1071Do not suppress C++ class debug information.
1072
1073fexceptions
1074Common Report Var(flag_exceptions) Optimization
1075Enable exception handling
1076
1077fexpensive-optimizations
1078Common Report Var(flag_expensive_optimizations) Optimization
1079Perform a number of minor, expensive optimizations
1080
1081fexcess-precision=
1082Common Joined RejectNegative Enum(excess_precision) Var(flag_excess_precision_cmdline) Init(EXCESS_PRECISION_DEFAULT)
1083-fexcess-precision=[fast|standard]	Specify handling of excess floating-point precision
1084
1085Enum
1086Name(excess_precision) Type(enum excess_precision) UnknownError(unknown excess precision style %qs)
1087
1088EnumValue
1089Enum(excess_precision) String(fast) Value(EXCESS_PRECISION_FAST)
1090
1091EnumValue
1092Enum(excess_precision) String(standard) Value(EXCESS_PRECISION_STANDARD)
1093
1094ffast-math
1095Common
1096
1097ffat-lto-objects
1098Common Var(flag_fat_lto_objects) Init(1)
1099Output lto objects containing both the intermediate language and binary output.
1100
1101ffinite-math-only
1102Common Report Var(flag_finite_math_only) Optimization SetByCombined
1103Assume no NaNs or infinities are generated
1104
1105ffixed-
1106Common Joined RejectNegative Var(common_deferred_options) Defer
1107-ffixed-<register>	Mark <register> as being unavailable to the compiler
1108
1109ffloat-store
1110Common Report Var(flag_float_store) Optimization
1111Don't allocate floats and doubles in extended-precision registers
1112
1113fforce-addr
1114Common Ignore
1115Does nothing.  Preserved for backward compatibility.
1116
1117fforward-propagate
1118Common Report Var(flag_forward_propagate) Optimization
1119Perform a forward propagation pass on RTL
1120
1121ffp-contract=
1122Common Joined RejectNegative Enum(fp_contract_mode) Var(flag_fp_contract_mode) Init(FP_CONTRACT_FAST)
1123-ffp-contract=[off|on|fast] Perform floating-point expression contraction.
1124
1125Enum
1126Name(fp_contract_mode) Type(enum fp_contract_mode) UnknownError(unknown floating point contraction style %qs)
1127
1128EnumValue
1129Enum(fp_contract_mode) String(off) Value(FP_CONTRACT_OFF)
1130
1131; Not implemented, fall back to conservative FP_CONTRACT_OFF.
1132EnumValue
1133Enum(fp_contract_mode) String(on) Value(FP_CONTRACT_OFF)
1134
1135EnumValue
1136Enum(fp_contract_mode) String(fast) Value(FP_CONTRACT_FAST)
1137
1138; Nonzero means don't put addresses of constant functions in registers.
1139; Used for compiling the Unix kernel, where strange substitutions are
1140; done on the assembly output.
1141ffunction-cse
1142Common Report Var(flag_no_function_cse,0)
1143Allow function addresses to be held in registers
1144
1145ffunction-sections
1146Common Report Var(flag_function_sections)
1147Place each function into its own section
1148
1149fgcse
1150Common Report Var(flag_gcse) Optimization
1151Perform global common subexpression elimination
1152
1153fgcse-lm
1154Common Report Var(flag_gcse_lm) Init(1) Optimization
1155Perform enhanced load motion during global common subexpression elimination
1156
1157fgcse-sm
1158Common Report Var(flag_gcse_sm) Init(0) Optimization
1159Perform store motion after global common subexpression elimination
1160
1161fgcse-las
1162Common Report Var(flag_gcse_las) Init(0) Optimization
1163Perform redundant load after store elimination in global common subexpression
1164elimination
1165
1166fgcse-after-reload
1167Common Report Var(flag_gcse_after_reload) Optimization
1168Perform global common subexpression elimination after register allocation
1169has finished
1170
1171; This option is not documented yet as its semantics will change.
1172fgraphite
1173Common Report Var(flag_graphite)
1174Enable in and out of Graphite representation
1175
1176fgraphite-identity
1177Common Report Var(flag_graphite_identity) Optimization
1178Enable Graphite Identity transformation
1179
1180floop-parallelize-all
1181Common Report Var(flag_loop_parallelize_all) Optimization
1182Mark all loops as parallel
1183
1184floop-strip-mine
1185Common Report Var(flag_loop_strip_mine) Optimization
1186Enable Loop Strip Mining transformation
1187
1188floop-interchange
1189Common Report Var(flag_loop_interchange) Optimization
1190Enable Loop Interchange transformation
1191
1192floop-block
1193Common Report Var(flag_loop_block) Optimization
1194Enable Loop Blocking transformation
1195
1196fgnu-tm
1197Common Report Var(flag_tm)
1198Enable support for GNU transactional memory
1199
1200floop-flatten
1201Common Report Var(flag_loop_flatten) Optimization
1202Enable Loop Flattening transformation
1203
1204fstrict-volatile-bitfields
1205Common Report Var(flag_strict_volatile_bitfields) Init(-1)
1206Force bitfield accesses to match their type width
1207
1208fguess-branch-probability
1209Common Report Var(flag_guess_branch_prob) Optimization
1210Enable guessing of branch probabilities
1211
1212; Nonzero means ignore `#ident' directives.  0 means handle them.
1213; Generate position-independent code for executables if possible
1214; On SVR4 targets, it also controls whether or not to emit a
1215; string identifying the compiler.
1216fident
1217Common Report Var(flag_no_ident,0)
1218Process #ident directives
1219
1220fif-conversion
1221Common Report Var(flag_if_conversion) Optimization
1222Perform conversion of conditional jumps to branchless equivalents
1223
1224fif-conversion2
1225Common Report Var(flag_if_conversion2) Optimization
1226Perform conversion of conditional jumps to conditional execution
1227
1228ftree-loop-if-convert
1229Common Report Var(flag_tree_loop_if_convert) Init(-1) Optimization
1230Convert conditional jumps in innermost loops to branchless equivalents
1231
1232ftree-loop-if-convert-stores
1233Common Report Var(flag_tree_loop_if_convert_stores) Optimization
1234Also if-convert conditional jumps containing memory writes
1235
1236; -finhibit-size-directive inhibits output of .size for ELF.
1237; This is used only for compiling crtstuff.c,
1238; and it may be extended to other effects
1239; needed for crtstuff.c on other systems.
1240finhibit-size-directive
1241Common Report Var(flag_inhibit_size_directive)
1242Do not generate .size directives
1243
1244findirect-inlining
1245Common Report Var(flag_indirect_inlining)
1246Perform indirect inlining
1247
1248; General flag to enable inlining.  Specifying -fno-inline will disable
1249; all inlining apart from always-inline functions.
1250finline
1251Common Report Var(flag_no_inline,0) Init(0)
1252Enable inlining of function declared \"inline\", disabling disables all inlining
1253
1254finline-small-functions
1255Common Report Var(flag_inline_small_functions) Optimization
1256Integrate functions into their callers when code size is known not to grow
1257
1258finline-functions
1259Common Report Var(flag_inline_functions) Optimization
1260Integrate functions not declared \"inline\" into their callers when profitable
1261
1262finline-functions-called-once
1263Common Report Var(flag_inline_functions_called_once) Optimization
1264Integrate functions only required by their single caller
1265
1266finline-limit-
1267Common RejectNegative Joined Alias(finline-limit=)
1268
1269finline-limit=
1270Common RejectNegative Joined UInteger
1271-finline-limit=<number>	Limit the size of inlined functions to <number>
1272
1273finline-atomics
1274Common Report Var(flag_inline_atomics) Init(1) Optimization
1275Inline __atomic operations when a lock free instruction sequence is available.
1276
1277finstrument-functions
1278Common Report Var(flag_instrument_function_entry_exit)
1279Instrument function entry and exit with profiling calls
1280
1281finstrument-functions-exclude-function-list=
1282Common RejectNegative Joined
1283-finstrument-functions-exclude-function-list=name,...  Do not instrument listed functions
1284
1285finstrument-functions-exclude-file-list=
1286Common RejectNegative Joined
1287-finstrument-functions-exclude-file-list=filename,...  Do not instrument functions listed in files
1288
1289fipa-cp
1290Common Report Var(flag_ipa_cp) Optimization
1291Perform Interprocedural constant propagation
1292
1293fipa-cp-clone
1294Common Report Var(flag_ipa_cp_clone) Optimization
1295Perform cloning to make Interprocedural constant propagation stronger
1296
1297fipa-profile
1298Common Report Var(flag_ipa_profile) Init(0) Optimization
1299Perform interprocedural profile propagation
1300
1301fipa-pta
1302Common Report Var(flag_ipa_pta) Init(0) Optimization
1303Perform interprocedural points-to analysis
1304
1305fipa-pure-const
1306Common Report Var(flag_ipa_pure_const) Init(0) Optimization
1307Discover pure and const functions
1308
1309fipa-reference
1310Common Report Var(flag_ipa_reference) Init(0) Optimization
1311Discover readonly and non addressable static variables
1312
1313fipa-matrix-reorg
1314Common Report Var(flag_ipa_matrix_reorg) Optimization
1315Perform matrix layout flattening and transposing based
1316on profiling information.
1317
1318fipa-struct-reorg
1319Common Ignore
1320Does nothing. Preserved for backward compatibility.
1321
1322fira-algorithm=
1323Common Joined RejectNegative Enum(ira_algorithm) Var(flag_ira_algorithm) Init(IRA_ALGORITHM_CB)
1324-fira-algorithm=[CB|priority] Set the used IRA algorithm
1325
1326Enum
1327Name(ira_algorithm) Type(enum ira_algorithm) UnknownError(unknown IRA algorithm %qs)
1328
1329EnumValue
1330Enum(ira_algorithm) String(CB) Value(IRA_ALGORITHM_CB)
1331
1332EnumValue
1333Enum(ira_algorithm) String(priority) Value(IRA_ALGORITHM_PRIORITY)
1334
1335fira-region=
1336Common Joined RejectNegative Enum(ira_region) Var(flag_ira_region) Init(IRA_REGION_AUTODETECT)
1337-fira-region=[one|all|mixed] Set regions for IRA
1338
1339Enum
1340Name(ira_region) Type(enum ira_region) UnknownError(unknown IRA region %qs)
1341
1342EnumValue
1343Enum(ira_region) String(one) Value(IRA_REGION_ONE)
1344
1345EnumValue
1346Enum(ira_region) String(all) Value(IRA_REGION_ALL)
1347
1348EnumValue
1349Enum(ira_region) String(mixed) Value(IRA_REGION_MIXED)
1350
1351fira-loop-pressure
1352Common Report Var(flag_ira_loop_pressure)
1353Use IRA based register pressure calculation
1354in RTL loop optimizations.
1355
1356fira-share-save-slots
1357Common Report Var(flag_ira_share_save_slots) Init(1)
1358Share slots for saving different hard registers.
1359
1360fira-share-spill-slots
1361Common Report Var(flag_ira_share_spill_slots) Init(1)
1362Share stack slots for spilled pseudo-registers.
1363
1364fira-verbose=
1365Common RejectNegative Joined UInteger Var(flag_ira_verbose) Init(5)
1366-fira-verbose=<number>	Control IRA's level of diagnostic messages.
1367
1368fivopts
1369Common Report Var(flag_ivopts) Init(1) Optimization
1370Optimize induction variables on trees
1371
1372fjump-tables
1373Common Var(flag_jump_tables) Init(1) Optimization
1374Use jump tables for sufficiently large switch statements
1375
1376fkeep-inline-functions
1377Common Report Var(flag_keep_inline_functions)
1378Generate code for functions even if they are fully inlined
1379
1380fkeep-static-consts
1381Common Report Var(flag_keep_static_consts) Init(1)
1382Emit static const variables even if they are not used
1383
1384fleading-underscore
1385Common Report Var(flag_leading_underscore) Init(-1)
1386Give external symbols a leading underscore
1387
1388floop-optimize
1389Common Ignore
1390Does nothing.  Preserved for backward compatibility.
1391
1392flto
1393Common
1394Enable link-time optimization.
1395
1396flto=
1397Common RejectNegative Joined Var(flag_lto)
1398Link-time optimization with number of parallel jobs or jobserver.
1399
1400flto-partition=1to1
1401Common Var(flag_lto_partition_1to1)
1402Partition functions and vars at linktime based on object files they originate from
1403
1404flto-partition=balanced
1405Common Var(flag_lto_partition_balanced)
1406Partition functions and vars at linktime into approximately same sized buckets
1407
1408flto-partition=none
1409Common Var(flag_lto_partition_none)
1410Disable partioning and streaming
1411
1412; The initial value of -1 comes from Z_DEFAULT_COMPRESSION in zlib.h.
1413flto-compression-level=
1414Common Joined RejectNegative UInteger Var(flag_lto_compression_level) Init(-1)
1415-flto-compression-level=<number>	Use zlib compression level <number> for IL
1416
1417flto-report
1418Common Report Var(flag_lto_report) Init(0)
1419Report various link-time optimization statistics
1420
1421fmath-errno
1422Common Report Var(flag_errno_math) Init(1) Optimization SetByCombined
1423Set errno after built-in math functions
1424
1425fmax-errors=
1426Common Joined RejectNegative UInteger Var(flag_max_errors)
1427-fmax-errors=<number>	Maximum number of errors to report
1428
1429fmem-report
1430Common Report Var(mem_report)
1431Report on permanent memory allocation
1432
1433; This will attempt to merge constant section constants, if 1 only
1434; string constants and constants from constant pool, if 2 also constant
1435; variables.
1436fmerge-all-constants
1437Common Report Var(flag_merge_constants,2) Init(1) Optimization
1438Attempt to merge identical constants and constant variables
1439
1440fmerge-constants
1441Common Report Var(flag_merge_constants,1) Optimization
1442Attempt to merge identical constants across compilation units
1443
1444fmerge-debug-strings
1445Common Report Var(flag_merge_debug_strings) Init(1)
1446Attempt to merge identical debug strings across compilation units
1447
1448fmessage-length=
1449Common RejectNegative Joined UInteger
1450-fmessage-length=<number>	Limit diagnostics to <number> characters per line.  0 suppresses line-wrapping
1451
1452fmodulo-sched
1453Common Report Var(flag_modulo_sched) Optimization
1454Perform SMS based modulo scheduling before the first scheduling pass
1455
1456fmodulo-sched-allow-regmoves
1457Common Report Var(flag_modulo_sched_allow_regmoves)
1458Perform SMS based modulo scheduling with register moves allowed
1459
1460fmove-loop-invariants
1461Common Report Var(flag_move_loop_invariants) Init(1) Optimization
1462Move loop invariant computations out of loops
1463
1464fdce
1465Common Var(flag_dce) Init(1) Optimization
1466Use the RTL dead code elimination pass
1467
1468fdse
1469Common Var(flag_dse) Init(1) Optimization
1470Use the RTL dead store elimination pass
1471
1472freschedule-modulo-scheduled-loops
1473Common Report Var(flag_resched_modulo_sched) Optimization
1474Enable/Disable the traditional scheduling in loops that already passed modulo scheduling
1475
1476fnon-call-exceptions
1477Common Report Var(flag_non_call_exceptions) Optimization
1478Support synchronous non-call exceptions
1479
1480fomit-frame-pointer
1481Common Report Var(flag_omit_frame_pointer) Optimization
1482When possible do not generate stack frames
1483
1484foptimize-register-move
1485Common Report Var(flag_regmove) Optimization
1486Do the full register move optimization pass
1487
1488foptimize-sibling-calls
1489Common Report Var(flag_optimize_sibling_calls) Optimization
1490Optimize sibling and tail recursive calls
1491
1492fpartial-inlining
1493Common Report Var(flag_partial_inlining)
1494Perform partial inlining
1495
1496fpre-ipa-mem-report
1497Common Report Var(pre_ipa_mem_report)
1498Report on memory allocation before interprocedural optimization
1499
1500fpost-ipa-mem-report
1501Common Report Var(post_ipa_mem_report)
1502Report on memory allocation before interprocedural optimization
1503
1504fpack-struct
1505Common Report Var(flag_pack_struct) Optimization
1506Pack structure members together without holes
1507
1508fpack-struct=
1509Common RejectNegative Joined UInteger Optimization
1510-fpack-struct=<number>	Set initial maximum structure member alignment
1511
1512fpcc-struct-return
1513Common Report Var(flag_pcc_struct_return,1) Init(DEFAULT_PCC_STRUCT_RETURN)
1514Return small aggregates in memory, not registers
1515
1516fpeel-loops
1517Common Report Var(flag_peel_loops) Optimization
1518Perform loop peeling
1519
1520fpeephole
1521Common Report Var(flag_no_peephole,0) Optimization
1522Enable machine specific peephole optimizations
1523
1524fpeephole2
1525Common Report Var(flag_peephole2) Optimization
1526Enable an RTL peephole pass before sched2
1527
1528fPIC
1529Common Report Var(flag_pic,2)
1530Generate position-independent code if possible (large mode)
1531
1532fPIE
1533Common Report Var(flag_pie,2)
1534Generate position-independent code for executables if possible (large mode)
1535
1536fpic
1537Common Report Var(flag_pic,1)
1538Generate position-independent code if possible (small mode)
1539
1540fpie
1541Common Report Var(flag_pie,1)
1542Generate position-independent code for executables if possible (small mode)
1543
1544fplugin=
1545Common Joined RejectNegative Var(common_deferred_options) Defer
1546Specify a plugin to load
1547
1548fplugin-arg-
1549Common Joined RejectNegative Var(common_deferred_options) Defer
1550-fplugin-arg-<name>-<key>[=<value>]	Specify argument <key>=<value> for plugin <name>
1551
1552fpredictive-commoning
1553Common Report Var(flag_predictive_commoning) Optimization
1554Run predictive commoning optimization.
1555
1556fprefetch-loop-arrays
1557Common Report Var(flag_prefetch_loop_arrays) Init(-1) Optimization
1558Generate prefetch instructions, if available, for arrays in loops
1559
1560fprofile
1561Common Report Var(profile_flag)
1562Enable basic program profiling code
1563
1564fprofile-arcs
1565Common Report Var(profile_arc_flag)
1566Insert arc-based program profiling code
1567
1568fprofile-dir=
1569Common Joined RejectNegative Var(profile_data_prefix)
1570Set the top-level directory for storing the profile data.
1571The default is 'pwd'.
1572
1573fprofile-correction
1574Common Report Var(flag_profile_correction)
1575Enable correction of flow inconsistent profile data input
1576
1577fprofile-generate
1578Common
1579Enable common options for generating profile info for profile feedback directed optimizations
1580
1581fprofile-generate=
1582Common Joined RejectNegative
1583Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=
1584
1585fprofile-use
1586Common Var(flag_profile_use)
1587Enable common options for performing profile feedback directed optimizations
1588
1589fprofile-use=
1590Common Joined RejectNegative
1591Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir=
1592
1593fprofile-values
1594Common Report Var(flag_profile_values)
1595Insert code to profile values of expressions
1596
1597frandom-seed
1598Common Var(common_deferred_options) Defer
1599
1600frandom-seed=
1601Common Joined RejectNegative Var(common_deferred_options) Defer
1602-frandom-seed=<string>	Make compile reproducible using <string>
1603
1604; This switch causes the command line that was used to create an
1605; object file to be recorded into the object file.  The exact format
1606; of this recording is target and binary file format dependent.
1607; It is related to the -fverbose-asm switch, but that switch only
1608; records information in the assembler output file as comments, so
1609; they never reach the object file.
1610frecord-gcc-switches
1611Common Report Var(flag_record_gcc_switches)
1612Record gcc command line switches in the object file.
1613
1614freg-struct-return
1615Common Report Var(flag_pcc_struct_return,0) Optimization
1616Return small aggregates in registers
1617
1618fregmove
1619Common Report Var(flag_regmove) Optimization
1620Enables a register move optimization
1621
1622frename-registers
1623Common Report Var(flag_rename_registers) Init(2) Optimization
1624Perform a register renaming optimization pass
1625
1626freorder-blocks
1627Common Report Var(flag_reorder_blocks) Optimization
1628Reorder basic blocks to improve code placement
1629
1630freorder-blocks-and-partition
1631Common Report Var(flag_reorder_blocks_and_partition) Optimization
1632Reorder basic blocks and partition into hot and cold sections
1633
1634freorder-functions
1635Common Report Var(flag_reorder_functions) Optimization
1636Reorder functions to improve code placement
1637
1638frerun-cse-after-loop
1639Common Report Var(flag_rerun_cse_after_loop) Optimization
1640Add a common subexpression elimination pass after loop optimizations
1641
1642frerun-loop-opt
1643Common Ignore
1644Does nothing.  Preserved for backward compatibility.
1645
1646frounding-math
1647Common Report Var(flag_rounding_math) Optimization SetByCombined
1648Disable optimizations that assume default FP rounding behavior
1649
1650fsched-interblock
1651Common Report Var(flag_schedule_interblock) Init(1) Optimization
1652Enable scheduling across basic blocks
1653
1654fsched-pressure
1655Common Report Var(flag_sched_pressure) Init(0) Optimization
1656Enable register pressure sensitive insn scheduling
1657
1658fsched-spec
1659Common Report Var(flag_schedule_speculative) Init(1) Optimization
1660Allow speculative motion of non-loads
1661
1662fsched-spec-load
1663Common Report Var(flag_schedule_speculative_load) Optimization
1664Allow speculative motion of some loads
1665
1666fsched-spec-load-dangerous
1667Common Report Var(flag_schedule_speculative_load_dangerous) Optimization
1668Allow speculative motion of more loads
1669
1670fsched-verbose=
1671Common RejectNegative Joined UInteger Var(sched_verbose_param)
1672-fsched-verbose=<number>	Set the verbosity level of the scheduler
1673
1674fsched2-use-superblocks
1675Common Report Var(flag_sched2_use_superblocks) Optimization
1676If scheduling post reload, do superblock scheduling
1677
1678fsched2-use-traces
1679Common Ignore
1680Does nothing.  Preserved for backward compatibility.
1681
1682fschedule-insns
1683Common Report Var(flag_schedule_insns) Optimization
1684Reschedule instructions before register allocation
1685
1686fschedule-insns2
1687Common Report Var(flag_schedule_insns_after_reload) Optimization
1688Reschedule instructions after register allocation
1689
1690; This flag should be on when a target implements non-trivial
1691; scheduling hooks, maybe saving some information for its own sake.
1692; On IA64, for example, this is used for correct bundling.
1693fselective-scheduling
1694Common Report Var(flag_selective_scheduling) Optimization
1695Schedule instructions using selective scheduling algorithm
1696
1697fselective-scheduling2
1698Common Report Var(flag_selective_scheduling2) Optimization
1699Run selective scheduling after reload
1700
1701fsel-sched-pipelining
1702Common Report Var(flag_sel_sched_pipelining) Init(0) Optimization
1703Perform software pipelining of inner loops during selective scheduling
1704
1705fsel-sched-pipelining-outer-loops
1706Common Report Var(flag_sel_sched_pipelining_outer_loops) Init(0) Optimization
1707Perform software pipelining of outer loops during selective scheduling
1708
1709fsel-sched-reschedule-pipelined
1710Common Report Var(flag_sel_sched_reschedule_pipelined) Init(0) Optimization
1711Reschedule pipelined regions without pipelining
1712
1713; sched_stalled_insns means that insns can be moved prematurely from the queue
1714; of stalled insns into the ready list.
1715fsched-stalled-insns
1716Common Report Var(flag_sched_stalled_insns) Optimization UInteger
1717Allow premature scheduling of queued insns
1718
1719fsched-stalled-insns=
1720Common RejectNegative Joined UInteger
1721-fsched-stalled-insns=<number>	Set number of queued insns that can be prematurely scheduled
1722
1723; sched_stalled_insns_dep controls how many recently scheduled cycles will
1724; be examined for a dependency on a stalled insn that is candidate for
1725; premature removal from the queue of stalled insns into the ready list (has
1726; an effect only if the flag 'sched_stalled_insns' is set).
1727fsched-stalled-insns-dep
1728Common Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization UInteger
1729Set dependence distance checking in premature scheduling of queued insns
1730
1731fsched-stalled-insns-dep=
1732Common RejectNegative Joined UInteger
1733-fsched-stalled-insns-dep=<number>	Set dependence distance checking in premature scheduling of queued insns
1734
1735fsched-group-heuristic
1736Common Report Var(flag_sched_group_heuristic) Init(1) Optimization
1737Enable the group heuristic in the scheduler
1738
1739fsched-critical-path-heuristic
1740Common Report Var(flag_sched_critical_path_heuristic) Init(1) Optimization
1741Enable the critical path heuristic in the scheduler
1742
1743fsched-spec-insn-heuristic
1744Common Report Var(flag_sched_spec_insn_heuristic) Init(1) Optimization
1745Enable the speculative instruction heuristic in the scheduler
1746
1747fsched-rank-heuristic
1748Common Report Var(flag_sched_rank_heuristic) Init(1) Optimization
1749Enable the rank heuristic in the scheduler
1750
1751fsched-last-insn-heuristic
1752Common Report Var(flag_sched_last_insn_heuristic) Init(1) Optimization
1753Enable the last instruction heuristic in the scheduler
1754
1755fsched-dep-count-heuristic
1756Common Report Var(flag_sched_dep_count_heuristic) Init(1) Optimization
1757Enable the dependent count heuristic in the scheduler
1758
1759fsection-anchors
1760Common Report Var(flag_section_anchors) Optimization
1761Access data in the same section from shared anchor points
1762
1763fsee
1764Common Ignore
1765Does nothing.  Preserved for backward compatibility.
1766
1767fzee
1768Common Ignore
1769Does nothing.  Preserved for backward compatibility.
1770
1771free
1772Common Report Var(flag_ree) Init(0)
1773Turn on Redundant Extensions Elimination pass.
1774
1775fshow-column
1776Common Report Var(flag_show_column) Init(1)
1777Show column numbers in diagnostics, when available.  Default on
1778
1779fshrink-wrap
1780Common Report Var(flag_shrink_wrap) Optimization
1781Emit function prologues only before parts of the function that need it,
1782rather than at the top of the function.
1783
1784fsignaling-nans
1785Common Report Var(flag_signaling_nans) Optimization SetByCombined
1786Disable optimizations observable by IEEE signaling NaNs
1787
1788fsigned-zeros
1789Common Report Var(flag_signed_zeros) Init(1) Optimization SetByCombined
1790Disable floating point optimizations that ignore the IEEE signedness of zero
1791
1792fsingle-precision-constant
1793Common Report Var(flag_single_precision_constant) Optimization
1794Convert floating point constants to single precision constants
1795
1796fsplit-ivs-in-unroller
1797Common Report Var(flag_split_ivs_in_unroller) Init(1) Optimization
1798Split lifetimes of induction variables when loops are unrolled
1799
1800fsplit-stack
1801Common Report Var(flag_split_stack) Init(-1)
1802Generate discontiguous stack frames
1803
1804fsplit-wide-types
1805Common Report Var(flag_split_wide_types) Optimization
1806Split wide types into independent registers
1807
1808fvariable-expansion-in-unroller
1809Common Report Var(flag_variable_expansion_in_unroller) Optimization
1810Apply variable expansion when loops are unrolled
1811
1812fstack-check=
1813Common Report RejectNegative Joined
1814-fstack-check=[no|generic|specific]	Insert stack checking code into the program
1815
1816fstack-check
1817Common Alias(fstack-check=, specific, no)
1818Insert stack checking code into the program.  Same as -fstack-check=specific
1819
1820fstack-limit
1821Common Var(common_deferred_options) Defer
1822
1823fstack-limit-register=
1824Common RejectNegative Joined Var(common_deferred_options) Defer
1825-fstack-limit-register=<register>	Trap if the stack goes past <register>
1826
1827fstack-limit-symbol=
1828Common RejectNegative Joined Var(common_deferred_options) Defer
1829-fstack-limit-symbol=<name>	Trap if the stack goes past symbol <name>
1830
1831fstack-protector
1832Common Report Var(flag_stack_protect, 1)
1833Use propolice as a stack protection method
1834
1835fstack-protector-all
1836Common Report RejectNegative Var(flag_stack_protect, 2)
1837Use a stack protection method for every function
1838
1839fstack-usage
1840Common RejectNegative Var(flag_stack_usage)
1841Output stack usage information on a per-function basis
1842
1843fstrength-reduce
1844Common Ignore
1845Does nothing.  Preserved for backward compatibility.
1846
1847; Nonzero if we should do (language-dependent) alias analysis.
1848; Typically, this analysis will assume that expressions of certain
1849; types do not alias expressions of certain other types.  Only used
1850; if alias analysis (in general) is enabled.
1851fstrict-aliasing
1852Common Report Var(flag_strict_aliasing) Optimization
1853Assume strict aliasing rules apply
1854
1855fstrict-overflow
1856Common Report Var(flag_strict_overflow)
1857Treat signed overflow as undefined
1858
1859fsyntax-only
1860Common Report Var(flag_syntax_only)
1861Check for syntax errors, then stop
1862
1863ftest-coverage
1864Common Report Var(flag_test_coverage)
1865Create data files needed by \"gcov\"
1866
1867fthread-jumps
1868Common Report Var(flag_thread_jumps) Optimization
1869Perform jump threading optimizations
1870
1871ftime-report
1872Common Report Var(time_report)
1873Report the time taken by each compiler pass
1874
1875ftls-model=
1876Common Joined RejectNegative Enum(tls_model) Var(flag_tls_default) Init(TLS_MODEL_GLOBAL_DYNAMIC)
1877-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]	Set the default thread-local storage code generation model
1878
1879Enum
1880Name(tls_model) Type(enum tls_model) UnknownError(unknown TLS model %qs)
1881
1882EnumValue
1883Enum(tls_model) String(global-dynamic) Value(TLS_MODEL_GLOBAL_DYNAMIC)
1884
1885EnumValue
1886Enum(tls_model) String(local-dynamic) Value(TLS_MODEL_LOCAL_DYNAMIC)
1887
1888EnumValue
1889Enum(tls_model) String(initial-exec) Value(TLS_MODEL_INITIAL_EXEC)
1890
1891EnumValue
1892Enum(tls_model) String(local-exec) Value(TLS_MODEL_LOCAL_EXEC)
1893
1894ftoplevel-reorder
1895Common Report Var(flag_toplevel_reorder) Init(2) Optimization
1896Reorder top level functions, variables, and asms
1897
1898ftracer
1899Common Report Var(flag_tracer)
1900Perform superblock formation via tail duplication
1901
1902; Zero means that floating-point math operations cannot generate a
1903; (user-visible) trap.  This is the case, for example, in nonstop
1904; IEEE 754 arithmetic.
1905ftrapping-math
1906Common Report Var(flag_trapping_math) Init(1) Optimization SetByCombined
1907Assume floating-point operations can trap
1908
1909ftrapv
1910Common Report Var(flag_trapv) Optimization
1911Trap for signed overflow in addition, subtraction and multiplication
1912
1913ftree-ccp
1914Common Report Var(flag_tree_ccp) Optimization
1915Enable SSA-CCP optimization on trees
1916
1917ftree-bit-ccp
1918Common Report Var(flag_tree_bit_ccp) Optimization
1919Enable SSA-BIT-CCP optimization on trees
1920
1921ftree-store-ccp
1922Common Ignore
1923Does nothing.  Preserved for backward compatibility.
1924
1925ftree-ch
1926Common Report Var(flag_tree_ch) Optimization
1927Enable loop header copying on trees
1928
1929ftree-copyrename
1930Common Report Var(flag_tree_copyrename) Optimization
1931Replace SSA temporaries with better names in copies
1932
1933ftree-copy-prop
1934Common Report Var(flag_tree_copy_prop) Optimization
1935Enable copy propagation on trees
1936
1937ftree-store-copy-prop
1938Common Ignore
1939Does nothing.  Preserved for backward compatibility.
1940
1941ftree-cselim
1942Common Report Var(flag_tree_cselim) Init(2) Optimization
1943Transform condition stores into unconditional ones
1944
1945ftree-switch-conversion
1946Common Report Var(flag_tree_switch_conversion) Optimization
1947Perform conversions of switch initializations.
1948
1949ftree-dce
1950Common Report Var(flag_tree_dce) Optimization
1951Enable SSA dead code elimination optimization on trees
1952
1953ftree-dominator-opts
1954Common Report Var(flag_tree_dom) Optimization
1955Enable dominator optimizations
1956
1957ftree-tail-merge
1958Common Report Var(flag_tree_tail_merge) Optimization
1959Enable tail merging on trees
1960
1961ftree-dse
1962Common Report Var(flag_tree_dse) Optimization
1963Enable dead store elimination
1964
1965ftree-forwprop
1966Common Report Var(flag_tree_forwprop) Init(1) Optimization
1967Enable forward propagation on trees
1968
1969ftree-fre
1970Common Report Var(flag_tree_fre) Optimization
1971Enable Full Redundancy Elimination (FRE) on trees
1972
1973foptimize-strlen
1974Common Report Var(flag_optimize_strlen) Optimization
1975Enable string length optimizations on trees
1976
1977ftree-loop-distribution
1978Common Report Var(flag_tree_loop_distribution) Optimization
1979Enable loop distribution on trees
1980
1981ftree-loop-distribute-patterns
1982Common Report Var(flag_tree_loop_distribute_patterns) Optimization
1983Enable loop distribution for patterns transformed into a library call
1984
1985ftree-loop-im
1986Common Report Var(flag_tree_loop_im) Init(1) Optimization
1987Enable loop invariant motion on trees
1988
1989ftree-loop-linear
1990Common Alias(floop-interchange)
1991Enable loop interchange transforms.  Same as -floop-interchange
1992
1993ftree-loop-ivcanon
1994Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization
1995Create canonical induction variables in loops
1996
1997ftree-loop-optimize
1998Common Report Var(flag_tree_loop_optimize) Init(1) Optimization
1999Enable loop optimizations on tree level
2000
2001ftree-parallelize-loops=
2002Common Report Joined RejectNegative UInteger Var(flag_tree_parallelize_loops) Init(1)
2003Enable automatic parallelization of loops
2004
2005ftree-phiprop
2006Common Report Var(flag_tree_phiprop) Init(1) Optimization
2007Enable hoisting loads from conditional pointers.
2008
2009ftree-pre
2010Common Report Var(flag_tree_pre) Optimization
2011Enable SSA-PRE optimization on trees
2012
2013ftree-pta
2014Common Report Var(flag_tree_pta) Init(1) Optimization
2015Perform function-local points-to analysis on trees.
2016
2017ftree-reassoc
2018Common Report Var(flag_tree_reassoc) Init(1) Optimization
2019Enable reassociation on tree level
2020
2021ftree-salias
2022Common Ignore
2023Does nothing.  Preserved for backward compatibility.
2024
2025ftree-sink
2026Common Report Var(flag_tree_sink) Optimization
2027Enable SSA code sinking on trees
2028
2029ftree-sra
2030Common Report Var(flag_tree_sra) Optimization
2031Perform scalar replacement of aggregates
2032
2033ftree-ter
2034Common Report Var(flag_tree_ter) Optimization
2035Replace temporary expressions in the SSA->normal pass
2036
2037ftree-lrs
2038Common Report Var(flag_tree_live_range_split) Optimization
2039Perform live range splitting during the SSA->normal pass
2040
2041ftree-vrp
2042Common Report Var(flag_tree_vrp) Init(0) Optimization
2043Perform Value Range Propagation on trees
2044
2045funit-at-a-time
2046Common Report Var(flag_unit_at_a_time) Init(1) Optimization
2047Compile whole compilation unit at a time
2048
2049funroll-loops
2050Common Report Var(flag_unroll_loops) Optimization
2051Perform loop unrolling when iteration count is known
2052
2053funroll-all-loops
2054Common Report Var(flag_unroll_all_loops) Optimization
2055Perform loop unrolling for all loops
2056
2057; Nonzero means that loop optimizer may assume that the induction variables
2058; that control loops do not overflow and that the loops with nontrivial
2059; exit condition are not infinite
2060funsafe-loop-optimizations
2061Common Report Var(flag_unsafe_loop_optimizations) Optimization
2062Allow loop optimizations to assume that the loops behave in normal way
2063
2064fassociative-math
2065Common Report Var(flag_associative_math) SetByCombined
2066Allow optimization for floating-point arithmetic which may change the
2067result of the operation due to rounding.
2068
2069freciprocal-math
2070Common Report Var(flag_reciprocal_math) SetByCombined
2071Same as -fassociative-math for expressions which include division.
2072
2073; Nonzero means that unsafe floating-point math optimizations are allowed
2074; for the sake of speed.  IEEE compliance is not guaranteed, and operations
2075; are allowed to assume that their arguments and results are "normal"
2076; (e.g., nonnegative for SQRT).
2077funsafe-math-optimizations
2078Common Report Var(flag_unsafe_math_optimizations) Optimization SetByCombined
2079Allow math optimizations that may violate IEEE or ISO standards
2080
2081funswitch-loops
2082Common Report Var(flag_unswitch_loops) Optimization
2083Perform loop unswitching
2084
2085funwind-tables
2086Common Report Var(flag_unwind_tables) Optimization
2087Just generate unwind tables for exception handling
2088
2089fuse-linker-plugin
2090Common Undocumented
2091
2092; Positive if we should track variables, negative if we should run
2093; the var-tracking pass only to discard debug annotations, zero if
2094; we're not to run it.  When flag_var_tracking == 2 (AUTODETECT_VALUE) it
2095; will be set according to optimize, debug_info_level and debug_hooks
2096; in process_options ().
2097fvar-tracking
2098Common Report Var(flag_var_tracking) Init(2) Optimization
2099Perform variable tracking
2100
2101; Positive if we should track variables at assignments, negative if
2102; we should run the var-tracking pass only to discard debug
2103; annotations.  When flag_var_tracking_assignments ==
2104; AUTODETECT_VALUE it will be set according to flag_var_tracking.
2105fvar-tracking-assignments
2106Common Report Var(flag_var_tracking_assignments) Init(2) Optimization
2107Perform variable tracking by annotating assignments
2108
2109; Nonzero if we should toggle flag_var_tracking_assignments after
2110; processing options and computing its default.  */
2111fvar-tracking-assignments-toggle
2112Common Report Var(flag_var_tracking_assignments_toggle) Optimization
2113Toggle -fvar-tracking-assignments
2114
2115fvar-tracking-uninit
2116Common Report Var(flag_var_tracking_uninit) Optimization
2117Perform variable tracking and also tag variables that are uninitialized
2118
2119ftree-vectorize
2120Common Report Var(flag_tree_vectorize) Optimization
2121Enable loop vectorization on trees
2122
2123ftree-slp-vectorize
2124Common Report Var(flag_tree_slp_vectorize) Init(2) Optimization
2125Enable basic block vectorization (SLP) on trees
2126
2127fvect-cost-model
2128Common Report Var(flag_vect_cost_model) Optimization
2129Enable use of cost model in vectorization
2130
2131ftree-vect-loop-version
2132Common Report Var(flag_tree_vect_loop_version) Init(1) Optimization
2133Enable loop versioning when doing loop vectorization on trees
2134
2135ftree-vectorizer-verbose=
2136Common RejectNegative Joined UInteger
2137-ftree-vectorizer-verbose=<number>	Set the verbosity level of the vectorizer
2138
2139ftree-scev-cprop
2140Common Report Var(flag_tree_scev_cprop) Init(1) Optimization
2141Enable copy propagation of scalar-evolution information.
2142
2143; -fverbose-asm causes extra commentary information to be produced in
2144; the generated assembly code (to make it more readable).  This option
2145; is generally only of use to those who actually need to read the
2146; generated assembly code (perhaps while debugging the compiler itself).
2147; -fno-verbose-asm, the default, causes the extra information
2148; to not be added and is useful when comparing two assembler files.
2149fverbose-asm
2150Common Report Var(flag_verbose_asm)
2151Add extra commentary to assembler output
2152
2153fvisibility=
2154Common Joined RejectNegative Enum(symbol_visibility) Var(default_visibility) Init(VISIBILITY_DEFAULT)
2155-fvisibility=[default|internal|hidden|protected]	Set the default symbol visibility
2156
2157Enum
2158Name(symbol_visibility) Type(enum symbol_visibility) UnknownError(unrecognized visibility value %qs)
2159
2160EnumValue
2161Enum(symbol_visibility) String(default) Value(VISIBILITY_DEFAULT)
2162
2163EnumValue
2164Enum(symbol_visibility) String(internal) Value(VISIBILITY_INTERNAL)
2165
2166EnumValue
2167Enum(symbol_visibility) String(hidden) Value(VISIBILITY_HIDDEN)
2168
2169EnumValue
2170Enum(symbol_visibility) String(protected) Value(VISIBILITY_PROTECTED)
2171
2172fvpt
2173Common Report Var(flag_value_profile_transformations) Optimization
2174Use expression value profiles in optimizations
2175
2176fweb
2177Common Report Var(flag_web) Init(2) Optimization
2178Construct webs and split unrelated uses of single variable
2179
2180ftree-builtin-call-dce
2181Common Report Var(flag_tree_builtin_call_dce) Init(0) Optimization
2182Enable conditional dead code elimination for builtin calls
2183
2184fwhole-program
2185Common Report Var(flag_whole_program) Init(0) Optimization
2186Perform whole program optimizations
2187
2188fwrapv
2189Common Report Var(flag_wrapv) Optimization
2190Assume signed arithmetic overflow wraps around
2191
2192fzero-initialized-in-bss
2193Common Report Var(flag_zero_initialized_in_bss) Init(1)
2194Put zero initialized data in the bss section
2195
2196g
2197Common JoinedOrMissing
2198Generate debug information in default format
2199
2200gcoff
2201Common JoinedOrMissing Negative(gdwarf-)
2202Generate debug information in COFF format
2203
2204gdwarf-
2205Common Joined UInteger Var(dwarf_version) Init(2) Negative(gstabs)
2206Generate debug information in DWARF v2 (or later) format
2207
2208ggdb
2209Common JoinedOrMissing
2210Generate debug information in default extended format
2211
2212gno-record-gcc-switches
2213Common RejectNegative Var(dwarf_record_gcc_switches,0) Init(0)
2214Don't record gcc command line switches in DWARF DW_AT_producer.
2215
2216grecord-gcc-switches
2217Common RejectNegative Var(dwarf_record_gcc_switches,1)
2218Record gcc command line switches in DWARF DW_AT_producer.
2219
2220gstabs
2221Common JoinedOrMissing Negative(gstabs+)
2222Generate debug information in STABS format
2223
2224gstabs+
2225Common JoinedOrMissing Negative(gvms)
2226Generate debug information in extended STABS format
2227
2228gno-strict-dwarf
2229Common RejectNegative Var(dwarf_strict,0) Init(-1)
2230Emit DWARF additions beyond selected version
2231
2232gstrict-dwarf
2233Common Report RejectNegative Var(dwarf_strict,1)
2234Don't emit DWARF additions beyond selected version
2235
2236gtoggle
2237Common Report Var(flag_gtoggle)
2238Toggle debug information generation
2239
2240gvms
2241Common JoinedOrMissing Negative(gxcoff)
2242Generate debug information in VMS format
2243
2244gxcoff
2245Common JoinedOrMissing Negative(gxcoff+)
2246Generate debug information in XCOFF format
2247
2248gxcoff+
2249Common JoinedOrMissing Negative(gcoff)
2250Generate debug information in extended XCOFF format
2251
2252h
2253Driver Joined Separate
2254
2255iplugindir=
2256Common Joined Var(plugindir_string) Init(0)
2257-iplugindir=<dir>	Set <dir> to be the default plugin directory
2258
2259l
2260Driver Joined Separate
2261
2262n
2263Driver
2264
2265no-canonical-prefixes
2266Driver
2267
2268nodefaultlibs
2269Driver
2270
2271nostartfiles
2272Driver
2273
2274nostdlib
2275Driver
2276
2277o
2278Common Driver Joined Separate Var(asm_file_name) MissingArgError(missing filename after %qs)
2279-o <file>	Place output into <file>
2280
2281p
2282Common Var(profile_flag)
2283Enable function profiling
2284
2285pass-exit-codes
2286Driver Var(pass_exit_codes)
2287
2288pedantic
2289Common Var(pedantic)
2290Issue warnings needed for strict compliance to the standard
2291
2292pedantic-errors
2293Common Var(flag_pedantic_errors)
2294Like -pedantic but issue them as errors
2295
2296pg
2297Driver
2298
2299pipe
2300Driver Var(use_pipes)
2301
2302print-file-name=
2303Driver JoinedOrMissing Var(print_file_name)
2304
2305print-libgcc-file-name
2306Driver
2307
2308print-multi-directory
2309Driver Var(print_multi_directory)
2310
2311print-multi-lib
2312Driver Var(print_multi_lib)
2313
2314print-multi-os-directory
2315Driver Var(print_multi_os_directory)
2316
2317print-prog-name=
2318Driver JoinedOrMissing Var(print_prog_name)
2319
2320print-search-dirs
2321Driver Var(print_search_dirs)
2322
2323print-sysroot
2324Driver Var(print_sysroot)
2325
2326print-sysroot-headers-suffix
2327Driver Var(print_sysroot_headers_suffix)
2328
2329quiet
2330Common Var(quiet_flag) RejectDriver
2331Do not display functions compiled or elapsed time
2332
2333r
2334Driver
2335
2336s
2337Driver
2338
2339save-temps
2340Driver
2341
2342save-temps=
2343Driver Joined
2344
2345t
2346Driver
2347
2348time
2349Driver Var(report_times)
2350
2351time=
2352Driver JoinedOrMissing
2353
2354u
2355Driver Joined Separate
2356
2357undef
2358Driver
2359; C option, but driver must not handle as "-u ndef".
2360
2361v
2362Common Driver Var(verbose_flag)
2363Enable verbose output
2364
2365version
2366Common Var(version_flag) RejectDriver
2367Display the compiler's version
2368
2369w
2370Common Var(inhibit_warnings)
2371Suppress warnings
2372
2373wrapper
2374Driver Separate Var(wrapper_string)
2375
2376x
2377Driver Joined Separate
2378
2379shared
2380Driver RejectNegative Negative(pie)
2381Create a shared library
2382
2383shared-libgcc
2384Driver
2385
2386specs
2387Driver Separate Alias(specs=)
2388
2389specs=
2390Driver Joined
2391
2392static
2393Driver
2394
2395static-libgcc
2396Driver
2397
2398static-libgfortran
2399Driver
2400; Documented for Fortran, but always accepted by driver.
2401
2402static-libstdc++
2403Driver
2404
2405static-libgo
2406Driver
2407; Documented for Go, but always accepted by driver.
2408
2409symbolic
2410Driver
2411
2412pie
2413Driver RejectNegative Negative(shared)
2414Create a position independent executable
2415
2416z
2417Driver Joined Separate
2418
2419; This comment is to ensure we retain the blank line above.
2420