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