>arm-none-eabi-gcc --help=common The following options are language-independent: --debug Same as -g. Use the latter option instead. --dump Same as -d. Use the latter option instead. --dump= Same as -d. Use the latter option instead. --dumpbase Same as -dumpbase. Use the latter option instead. --dumpdir Same as -dumpdir. Use the latter option instead. --extra-warnings Same as -Wextra. Use the latter option instead. --help Display this information. --help=<class> Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params. --no-warnings Same as -w. Use the latter option instead. --optimize Same as -O. Use the latter option instead. --output Same as -o. Use the latter option instead. --output= Same as -o. Use the latter option instead. --param <param>=<value> Set parameter <param> to value. See below for a complete list of parameters. --param= Same as --param. Use the latter option instead. --pedantic Same as -Wpedantic. Use the latter option instead. --pedantic-errors Same as -pedantic-errors. Use the latter option instead. --profile Same as -p. Use the latter option instead. --target-help Alias for --help=target. --verbose Same as -v. Use the latter option instead. --version This option lacks documentation. -O<number> Set optimization level to <number>. -Ofast Optimize for speed disregarding exact standards compliance. -Og Optimize for debugging experience rather than speed or size. -Os Optimize for space rather than speed. -W This switch is deprecated; use -Wextra instead. Same as -Wextra. -Waggregate-return Warn about returning structures, unions or arrays. -Waggressive-loop-optimizations Warn if a loop with constant number of iterations triggers undefined behavior. -Warray-bounds Warn if an array is accessed out of bounds. -Warray-bounds= Warn if an array is accessed out of bounds. -Wattributes Warn about inappropriate attribute usage. -Wcast-align Warn about pointer casts which increase alignment. -Wcoverage-mismatch Warn in case profiles in -fprofile-use do not match. -Wcpp Warn when a #warning directive is encountered. -Wdeprecated-declarations Warn about uses of __attribute__((deprecated)) declarations. -Wdisabled-optimization Warn when an optimization pass is disabled. -Werror Treat all warnings as errors. -Werror= Treat specified warning as error. -Wextra Print extra (possibly unwanted) warnings. -Wfatal-errors Exit on the first error occurred. -Wframe-larger-than=<number> Warn if a function's stack frame requires more than <number> bytes. -Wfree-nonheap-object Warn when attempting to free a non-heap object. -Whsa Warn when a function cannot be expanded to HSAIL. -Winline Warn when an inlined function cannot be inlined. -Winvalid-memory-model Warn when an atomic memory model parameter is known to be outside the valid range. -Wlarger-than- Same as -Wlarger-than=. Use the latter option instead. -Wlarger-than=<number> Warn if an object is larger than <number> bytes. -Wlto-type-mismatch During link time optimization warn about mismatched types of global declarations. -Wmaybe-uninitialized Warn about maybe uninitialized automatic variables. -Wmisleading-indentation Warn when the indentation of the code does not reflect the block structure. -Wmissing-noreturn Same as -Wsuggest-attribute=noreturn. Use the latter option instead. -Wnull-dereference Warn if dereferencing a NULL pointer may lead to erroneous or undefined behavior. -Wodr Warn about some C++ One Definition Rule violations during link time optimization. -Woverflow Warn about overflow in arithmetic expressions. -Wpacked Warn when the packed attribute has no effect on struct layout. -Wpadded Warn when padding is required to align structure members. -Wpedantic Issue warnings needed for strict compliance to the standard. -Wreturn-local-addr Warn about returning a pointer/reference to a local or temporary variable. -Wshadow Warn when one local variable shadows another. -Wstack-protector Warn when not issuing stack smashing protection for some reason. -Wstack-usage= Warn if stack usage might be larger than specified amount. -Wstrict-aliasing Warn about code which might break strict aliasing rules. -Wstrict-aliasing= Warn about code which might break strict aliasing rules. -Wstrict-overflow Warn about optimizations that assume that signed overflow is undefined. -Wstrict-overflow= Warn about optimizations that assume that signed overflow is undefined. -Wsuggest-attribute=const Warn about functions which might be candidates for __attribute__((const)). -Wsuggest-attribute=noreturn Warn about functions which might be candidates for __attribute__((noreturn)). -Wsuggest-attribute=pure Warn about functions which might be candidates for __attribute__((pure)). -Wsuggest-final-methods Warn about C++ virtual methods where adding final keyword would improve code quality. -Wsuggest-final-types Warn about C++ polymorphic types where adding final keyword would improve code quality. -Wsystem-headers Do not suppress warnings from system headers. -Wtrampolines Warn whenever a trampoline is generated. -Wtype-limits Warn if a comparison is always true or always false due to the limited range of the data type. -Wuninitialized Warn about uninitialized automatic variables. -Wunreachable-code Does nothing. Preserved for backward compatibility. -Wunsafe-loop-optimizations Warn if the loop cannot be optimized due to nontrivial assumptions. -Wunused Enable all -Wunused- warnings. -Wunused-but-set-parameter Warn when a function parameter is only set, otherwise unused. -Wunused-but-set-variable Warn when a variable is only set, otherwise unused. -Wunused-function Warn when a function is unused. -Wunused-label Warn when a label is unused. -Wunused-parameter Warn when a function parameter is unused. -Wunused-value Warn when an expression value is unused. -Wunused-variable Warn when a variable is unused. -Wvector-operation-performance Warn when a vector operation is compiled outside the SIMD. -aux-info <file> Emit declaration information into <file>. -aux-info= Same as -aux-info. Use the latter option instead. -auxbase This option lacks documentation. -auxbase-strip This option lacks documentation. -d<letters> Enable dumps from specific passes of the compiler. -dumpbase <file> Set the file basename to be used for dumps. -dumpdir <dir> Set the directory name to be used for dumps. -fPIC Generate position-independent code if possible (large mode). -fPIE Generate position-independent code for executables if possible (large mode). -fabi-version= The version of the C++ ABI in use. -faggressive-loop-optimizations Aggressively optimize loops using language constraints. -falign-functions Align the start of functions. -falign-functions= This option lacks documentation. -falign-jumps Align labels which are only reached by jumping. -falign-jumps= This option lacks documentation. -falign-labels Align all labels. -falign-labels= This option lacks documentation. -falign-loops Align the start of loops. -falign-loops= This option lacks documentation. -fargument-alias Does nothing. Preserved for backward compatibility. -fargument-noalias Does nothing. Preserved for backward compatibility. -fargument-noalias-anything Does nothing. Preserved for backward compatibility. -fargument-noalias-global Does nothing. Preserved for backward compatibility. -fasan-shadow-offset=<number> Use custom shadow memory offset. -fassociative-math Allow optimization for floating-point arithmetic which may change the result of the operation due to rounding. -fasynchronous-unwind-tables Generate unwind tables that are exact at each instruction boundary. -fauto-inc-dec Generate auto-inc/dec instructions. -fauto-profile Use sample profile information for call graph node weights. The default profile file is fbdata.afdo in 'pwd'. -fauto-profile= Use sample profile information for call graph node weights. The profile file is specified in the argument. -fbounds-check Generate code to check bounds before indexing arrays. -fbranch-count-reg Replace add, compare, branch with branch on count register. -fbranch-probabilities Use profiling information for branch probabilities. -fbranch-target-load-optimize Perform branch target load optimization before prologue / epilogue threading. -fbranch-target-load-optimize2 Perform branch target load optimization after prologue / epilogue threading. -fbtr-bb-exclusive Restrict target load migration not to re-use registers in any basic block. -fcall-saved-<register> Mark <register> as being preserved across functions. -fcall-used-<register> Mark <register> as being corrupted by function calls. -fcaller-saves Save registers around function calls. -fcheck-data-deps This switch is deprecated; do not use. -fcheck-new Check the return value of new in C++. -fchecking Perform internal consistency checkings. -fcombine-stack-adjustments Looks for opportunities to reduce stack adjustments and stack references. -fcommon Do not put uninitialized globals in the common section. -fcompare-debug-second Run only the second compilation of -fcompare- debug. -fcompare-debug[=<opts>] Compile with and without e.g. -gtoggle, and compare the final-insns dump. -fcompare-elim Perform comparison elimination after register allocation has finished. -fconserve-stack Do not perform optimizations increasing noticeably stack usage. -fcprop-registers Perform a register copy-propagation optimization pass. -fcrossjumping Perform cross-jumping optimization. -fcse-follow-jumps When running CSE, follow jumps to their targets. -fcse-skip-blocks Does nothing. Preserved for backward compatibility. -fcx-fortran-rules Complex multiplication and division follow Fortran rules. -fcx-limited-range Omit range reduction step when performing complex division. -fdata-sections Place data items into their own section. -fdbg-cnt-list List all available debugging counters with their limits and counts. -fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. -fdce Use the RTL dead code elimination pass. -fdebug-prefix-map= Map one directory name to another in debug information. -fdebug-types-section Output .debug_types section when using DWARF v4 debuginfo. -fdefer-pop Defer popping functions args from stack until later. -fdelayed-branch Attempt to fill delay slots of branch instructions. -fdelete-dead-exceptions Delete dead instructions that may throw exceptions. -fdelete-null-pointer-checks Delete useless null pointer checks. -fdevirtualize Try to convert virtual calls to direct ones. -fdevirtualize-at-ltrans Stream extra data to support more aggressive devirtualization in LTO local transformation mode. -fdevirtualize-speculatively Perform speculative devirtualization. -fdiagnostics-color Same as -fdiagnostics-color=. Use the latter option instead. -fdiagnostics-color=[never|always|auto] Colorize diagnostics. -fdiagnostics-show-caret Show the source line with a caret indicating the column. -fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics. -fdiagnostics-show-option Amend appropriate diagnostic messages with the command line option that controls them. -fdisable- -fdisable-[tree|rtl|ipa]-<pass>=range1+range2 disables an optimization pass. -fdse Use the RTL dead store elimination pass. -fdump-<type> Dump various compiler internals to a file. -fdump-final-insns=filename Dump to filename the insns at the end of translation. -fdump-go-spec=filename Write all declarations to file as Go code. -fdump-internal-locations Dump detailed information on GCC's internal representation of source code locations. -fdump-noaddr Suppress output of addresses in debugging dumps. -fdump-passes Dump optimization passes. -fdump-unnumbered Suppress output of instruction numbers, line number notes and addresses in debugging dumps. -fdump-unnumbered-links Suppress output of previous and next insn numbers in debugging dumps. -fdwarf2-cfi-asm Enable CFI tables via GAS assembler directives. -fearly-inlining Perform early inlining. -feliminate-dwarf2-dups Perform DWARF duplicate elimination. -feliminate-unused-debug-symbols Perform unused symbol elimination in debug info. -feliminate-unused-debug-types Perform unused type elimination in debug info. -femit-class-debug-always Do not suppress C++ class debug information. -fenable- -fenable-[tree|rtl|ipa]-<pass>=range1+range2 enables an optimization pass. -fexceptions Enable exception handling. -fexcess-precision=[fast|standard] Specify handling of excess floating-point precision. -fexpensive-optimizations Perform a number of minor, expensive optimizations. -ffast-math This option lacks documentation. -ffat-lto-objects Output lto objects containing both the intermediate language and binary output. -ffinite-math-only Assume no NaNs or infinities are generated. -ffixed-<register> Mark <register> as being unavailable to the compiler. -ffloat-store Don't allocate floats and doubles in extended- precision registers. -fforce-addr Does nothing. Preserved for backward compatibility. -fforward-propagate Perform a forward propagation pass on RTL. -ffp-contract= -ffp-contract=[off|on|fast] Perform floating- point expression contraction. -ffunction-cse Allow function addresses to be held in registers. -ffunction-sections Place each function into its own section. -fgcse Perform global common subexpression elimination. -fgcse-after-reload Perform global common subexpression elimination after register allocation has finished. -fgcse-las Perform redundant load after store elimination in global common subexpression elimination. -fgcse-lm Perform enhanced load motion during global common subexpression elimination. -fgcse-sm Perform store motion after global common subexpression elimination. -fgnat-encodings=[all|gdb|minimal] Select the balance between GNAT encodings and standard DWARF emitted in the debug information -fgnu-tm Enable support for GNU transactional memory. -fgnu-unique Use STB_GNU_UNIQUE if supported by the assembler. -fgraphite Enable in and out of Graphite representation. -fgraphite-identity Enable Graphite Identity transformation. -fguess-branch-probability Enable guessing of branch probabilities. -fhelp Same as --help. Use the latter option instead. -fhelp= Same as --help=. Use the latter option instead. -fhoist-adjacent-loads Enable hoisting adjacent loads to encourage generating conditional move instructions. -fident Process #ident directives. -fif-conversion Perform conversion of conditional jumps to branchless equivalents. -fif-conversion2 Perform conversion of conditional jumps to conditional execution. -findirect-inlining Perform indirect inlining. -finhibit-size-directive Do not generate .size directives. -finline Enable inlining of function declared "inline", disabling disables all inlining. -finline-atomics Inline __atomic operations when a lock free instruction sequence is available. -finline-functions Integrate functions not declared "inline" into their callers when profitable. -finline-functions-called-once Integrate functions only required by their single caller. -finline-limit- Same as -finline-limit=. Use the latter option instead. -finline-limit=<number> Limit the size of inlined functions to <number>. -finline-small-functions Integrate functions into their callers when code size is known not to grow. -finstrument-functions Instrument function entry and exit with profiling calls. -finstrument-functions-exclude-file-list= -finstrument-functions-exclude-file- list=filename,... Do not instrument functions listed in files. -finstrument-functions-exclude-function-list= -finstrument-functions-exclude- function-list=name,... Do not instrument listed functions. -fipa-cp Perform interprocedural constant propagation. -fipa-cp-alignment Perform alignment discovery and propagation to make Interprocedural constant propagation stronger. -fipa-cp-clone Perform cloning to make Interprocedural constant propagation stronger. -fipa-icf Perform Identical Code Folding for functions and read-only variables. -fipa-icf-functions Perform Identical Code Folding for functions. -fipa-icf-variables Perform Identical Code Folding for variables. -fipa-matrix-reorg Does nothing. Preserved for backward compatibility. -fipa-profile Perform interprocedural profile propagation. -fipa-pta Perform interprocedural points-to analysis. -fipa-pure-const Discover pure and const functions. -fipa-ra Use caller save register across calls if possible. -fipa-reference Discover readonly and non addressable static variables. -fipa-sra Perform interprocedural reduction of aggregates. -fipa-struct-reorg Does nothing. Preserved for backward compatibility. -fira-algorithm= -fira-algorithm=[CB|priority] Set the used IRA algorithm. -fira-hoist-pressure Use IRA based register pressure calculation in RTL hoist optimizations. -fira-loop-pressure Use IRA based register pressure calculation in RTL loop optimizations. -fira-region= -fira-region=[one|all|mixed] Set regions for IRA. -fira-share-save-slots Share slots for saving different hard registers. -fira-share-spill-slots Share stack slots for spilled pseudo-registers. -fira-verbose=<number> Control IRA's level of diagnostic messages. -fisolate-erroneous-paths-attribute Detect paths that trigger erroneous or undefined behavior due a null value being used in a way forbidden by a returns_nonnull or nonnull attribute. Isolate those paths from the main control flow and turn the statement with erroneous or undefined behavior into a trap. -fisolate-erroneous-paths-dereference Detect paths that trigger erroneous or undefined behavior due to dereferencing a null pointer. Isolate those paths from the main control flow and turn the statement with erroneous or undefined behavior into a trap. -fivopts Optimize induction variables on trees. -fjump-tables Use jump tables for sufficiently large switch statements. -fkeep-gc-roots-live This option lacks documentation. -fkeep-inline-functions Generate code for functions even if they are fully inlined. -fkeep-static-consts Emit static const variables even if they are not used. -fkeep-static-functions Generate code for static functions even if they are never called. -fleading-underscore Give external symbols a leading underscore. -flifetime-dse Tell DSE that the storage for a C++ object is dead when the constructor starts and when the destructor finishes. -flifetime-dse= This option lacks documentation. -flive-range-shrinkage Relief of register pressure through live range shrinkage. -floop-block Enable loop nest transforms. Same as -floop-nest- optimize. Same as -floop-nest-optimize. -floop-flatten Does nothing. Preserved for backward compatibility. -floop-interchange Enable loop nest transforms. Same as -floop-nest- optimize. Same as -floop-nest-optimize. -floop-nest-optimize Enable the loop nest optimizer. -floop-optimize Does nothing. Preserved for backward compatibility. -floop-parallelize-all Mark all loops as parallel. -floop-strip-mine Enable loop nest transforms. Same as -floop-nest- optimize. Same as -floop-nest-optimize. -floop-unroll-and-jam Enable loop nest transforms. Same as -floop-nest- optimize. Same as -floop-nest-optimize. -flra-remat Do CFG-sensitive rematerialization in LRA. -flto Enable link-time optimization. -flto-compression-level=<number> Use zlib compression level <number> for IL. -flto-odr-type-merging Merge C++ types using One Definition Rule. -flto-partition= Specify the algorithm to partition symbols and vars at linktime. -flto-report Report various link-time optimization statistics. -flto-report-wpa Report various link-time optimization statistics for WPA only. -flto= Link-time optimization with number of parallel jobs or jobserver. -fmath-errno Set errno after built-in math functions. -fmax-errors=<number> Maximum number of errors to report. -fmem-report Report on permanent memory allocation. -fmem-report-wpa Report on permanent memory allocation in WPA only. -fmerge-all-constants Attempt to merge identical constants and constant variables. -fmerge-constants Attempt to merge identical constants across compilation units. -fmerge-debug-strings Attempt to merge identical debug strings across compilation units. -fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping. -fmodulo-sched Perform SMS based modulo scheduling before the first scheduling pass. -fmodulo-sched-allow-regmoves Perform SMS based modulo scheduling with register moves allowed. -fmove-loop-invariants Move loop invariant computations out of loops. -fno-vect-cost-model Enables the unlimited vectorizer cost model. Preserved for backward compatibility. Same as -fvect-cost-model=. -fnon-call-exceptions Support synchronous non-call exceptions. -foffload-abi= -foffload-abi=[lp64|ilp32] Set the ABI to use in an offload compiler. -foffload= -foffload=<targets>=<options> Specify offloading targets and options for them. -fomit-frame-pointer When possible do not generate stack frames. -fopt-info Enable all optimization info dumps on stderr. -fopt-info[-<type>=filename] Dump compiler optimization details. -foptimize-register-move Does nothing. Preserved for backward compatibility. -foptimize-sibling-calls Optimize sibling and tail recursive calls. -foptimize-strlen Enable string length optimizations on trees. -fpack-struct Pack structure members together without holes. -fpack-struct=<number> Set initial maximum structure member alignment. -fpartial-inlining Perform partial inlining. -fpcc-struct-return Return small aggregates in memory, not registers. -fpeel-loops Perform loop peeling. -fpeephole Enable machine specific peephole optimizations. -fpeephole2 Enable an RTL peephole pass before sched2. -fpic Generate position-independent code if possible (small mode). -fpie Generate position-independent code for executables if possible (small mode). -fplt Use PLT for PIC calls (-fno-plt: load the address from GOT at call site). -fplugin-arg-<name>-<key>[=<value>] Specify argument <key>=<value> for plugin <name>. -fplugin= Specify a plugin to load. -fpost-ipa-mem-report Report on memory allocation before interprocedural optimization. -fpre-ipa-mem-report Report on memory allocation before interprocedural optimization. -fpredictive-commoning Run predictive commoning optimization. -fprefetch-loop-arrays Generate prefetch instructions, if available, for arrays in loops. -fprofile Enable basic program profiling code. -fprofile-arcs Insert arc-based program profiling code. -fprofile-correction Enable correction of flow inconsistent profile data input. -fprofile-dir= Set the top-level directory for storing the profile data. The default is 'pwd'. -fprofile-generate Enable common options for generating profile info for profile feedback directed optimizations. -fprofile-generate= Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=. -fprofile-reorder-functions Enable function reordering that improves code placement. -fprofile-report Report on consistency of profile. -fprofile-use Enable common options for performing profile feedback directed optimizations. -fprofile-use= Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir=. -fprofile-values Insert code to profile values of expressions. -frandom-seed This option lacks documentation. -frandom-seed=<string> Make compile reproducible using <string>. -freciprocal-math Same as -fassociative-math for expressions which include division. -frecord-gcc-switches Record gcc command line switches in the object file. -free Turn on Redundant Extensions Elimination pass. -freg-struct-return Return small aggregates in registers. -fregmove Does nothing. Preserved for backward compatibility. -frename-registers Perform a register renaming optimization pass. -freorder-blocks Reorder basic blocks to improve code placement. -freorder-blocks-algorithm= -freorder-blocks-algorithm=[simple|stc] Set the used basic block reordering algorithm. -freorder-blocks-and-partition Reorder basic blocks and partition into hot and cold sections. -freorder-functions Reorder functions to improve code placement. -freport-bug Collect and dump debug information into temporary file if ICE in C/C++ compiler occured. -frerun-cse-after-loop Add a common subexpression elimination pass after loop optimizations. -frerun-loop-opt Does nothing. Preserved for backward compatibility. -freschedule-modulo-scheduled-loops Enable/Disable the traditional scheduling in loops that already passed modulo scheduling. -frounding-math Disable optimizations that assume default FP rounding behavior. -fsanitize-coverage=trace-pc Enable coverage-guided fuzzing code instrumentation. Inserts call to __sanitizer_cov_trace_pc into every basic block. -fsanitize-recover This switch is deprecated; use -fsanitize- recover= instead. -fsanitize-recover= After diagnosing undefined behavior attempt to continue execution. -fsanitize-sections=<sec1,sec2,...> Sanitize global variables in user-defined sections. -fsanitize-undefined-trap-on-error Use trap instead of a library function for undefined behavior sanitization. -fsanitize= Select what to sanitize. -fsched-critical-path-heuristic Enable the critical path heuristic in the scheduler. -fsched-dep-count-heuristic Enable the dependent count heuristic in the scheduler. -fsched-group-heuristic Enable the group heuristic in the scheduler. -fsched-interblock Enable scheduling across basic blocks. -fsched-last-insn-heuristic Enable the last instruction heuristic in the scheduler. -fsched-pressure Enable register pressure sensitive insn scheduling. -fsched-rank-heuristic Enable the rank heuristic in the scheduler. -fsched-spec Allow speculative motion of non-loads. -fsched-spec-insn-heuristic Enable the speculative instruction heuristic in the scheduler. -fsched-spec-load Allow speculative motion of some loads. -fsched-spec-load-dangerous Allow speculative motion of more loads. -fsched-stalled-insns Allow premature scheduling of queued insns. -fsched-stalled-insns-dep Set dependence distance checking in premature scheduling of queued insns. -fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns. -fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled. -fsched-verbose=<number> Set the verbosity level of the scheduler. -fsched2-use-superblocks If scheduling post reload, do superblock scheduling. -fsched2-use-traces Does nothing. Preserved for backward compatibility. -fschedule-fusion Perform a target dependent instruction fusion optimization pass. -fschedule-insns Reschedule instructions before register allocation. -fschedule-insns2 Reschedule instructions after register allocation. -fsection-anchors Access data in the same section from shared anchor points. -fsee Does nothing. Preserved for backward compatibility. -fsel-sched-pipelining Perform software pipelining of inner loops during selective scheduling. -fsel-sched-pipelining-outer-loops Perform software pipelining of outer loops during selective scheduling. -fsel-sched-reschedule-pipelined Reschedule pipelined regions without pipelining. -fselective-scheduling Schedule instructions using selective scheduling algorithm. -fselective-scheduling2 Run selective scheduling after reload. -fsemantic-interposition Allow interposing function (or variables) by ones with different semantics (or initializer) respectively by dynamic linker. -fshow-column Show column numbers in diagnostics, when available. Default on. -fshrink-wrap Emit function prologues only before parts of the function that need it, rather than at the top of the function. -fsignaling-nans Disable optimizations observable by IEEE signaling NaNs. -fsigned-zeros Disable floating point optimizations that ignore the IEEE signedness of zero. -fsimd-cost-model= Specifies the vectorization cost model for code marked with a simd directive. -fsingle-precision-constant Convert floating point constants to single precision constants. -fsplit-ivs-in-unroller Split lifetimes of induction variables when loops are unrolled. -fsplit-paths Split paths leading to loop backedges. -fsplit-stack Generate discontiguous stack frames. -fsplit-wide-types Split wide types into independent registers. -fssa-backprop Enable backward propagation of use properties at the SSA level. -fssa-phiopt Optimize conditional patterns using SSA PHI nodes. -fstack-check Insert stack checking code into the program. Same as -fstack-check=specific. Same as -fstack- check=. -fstack-check=[no|generic|specific] Insert stack checking code into the program. -fstack-limit This option lacks documentation. -fstack-limit-register=<register> Trap if the stack goes past <register>. -fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>. -fstack-protector Use propolice as a stack protection method. -fstack-protector-all Use a stack protection method for every function. -fstack-protector-explicit Use stack protection method only for functions with the stack_protect attribute. -fstack-protector-strong Use a smart stack protection method for certain functions. -fstack-reuse= -fstack-reuse=[all|named_vars|none] Set stack reuse level for local variables. -fstack-usage Output stack usage information on a per-function basis. -fstdarg-opt Optimize amount of stdarg registers saved to stack at start of function. -fstrength-reduce Does nothing. Preserved for backward compatibility. -fstrict-aliasing Assume strict aliasing rules apply. -fstrict-overflow Treat signed overflow as undefined. -fstrict-volatile-bitfields Force bitfield accesses to match their type width. -fsync-libcalls Implement __atomic operations via libcalls to legacy __sync functions. -fsyntax-only Check for syntax errors, then stop. -ftarget-help Same as --target-help. Use the latter option instead. -ftest-coverage Create data files needed by "gcov". -fthread-jumps Perform jump threading optimizations. -ftime-report Report the time taken by each compiler pass. -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model. -ftoplevel-reorder Reorder top level functions, variables, and asms. -ftracer Perform superblock formation via tail duplication. -ftrapping-math Assume floating-point operations can trap. -ftrapv Trap for signed overflow in addition, subtraction and multiplication. -ftree-bit-ccp Enable SSA-BIT-CCP optimization on trees. -ftree-builtin-call-dce Enable conditional dead code elimination for builtin calls. -ftree-ccp Enable SSA-CCP optimization on trees. -ftree-ch Enable loop header copying on trees. -ftree-coalesce-inlined-vars Does nothing. Preserved for backward compatibility. -ftree-coalesce-vars Enable SSA coalescing of user variables. -ftree-copy-prop Enable copy propagation on trees. -ftree-copyrename Does nothing. Preserved for backward compatibility. -ftree-cselim Transform condition stores into unconditional ones. -ftree-dce Enable SSA dead code elimination optimization on trees. -ftree-dominator-opts Enable dominator optimizations. -ftree-dse Enable dead store elimination. -ftree-forwprop Enable forward propagation on trees. -ftree-fre Enable Full Redundancy Elimination (FRE) on trees. -ftree-loop-distribute-patterns Enable loop distribution for patterns transformed into a library call. -ftree-loop-distribution Enable loop distribution on trees. -ftree-loop-if-convert Convert conditional jumps in innermost loops to branchless equivalents. -ftree-loop-if-convert-stores Also if-convert conditional jumps containing memory writes. -ftree-loop-im Enable loop invariant motion on trees. -ftree-loop-ivcanon Create canonical induction variables in loops. -ftree-loop-linear Enable loop nest transforms. Same as -floop-nest- optimize. Same as -floop-nest-optimize. -ftree-loop-optimize Enable loop optimizations on tree level. -ftree-loop-vectorize Enable loop vectorization on trees. -ftree-lrs Perform live range splitting during the SSA- >normal pass. -ftree-parallelize-loops= Enable automatic parallelization of loops. -ftree-partial-pre In SSA-PRE optimization on trees, enable partial- partial redundancy elimination. -ftree-phiprop Enable hoisting loads from conditional pointers. -ftree-pre Enable SSA-PRE optimization on trees. -ftree-pta Perform function-local points-to analysis on trees. -ftree-reassoc Enable reassociation on tree level. -ftree-salias Does nothing. Preserved for backward compatibility. -ftree-scev-cprop Enable copy propagation of scalar-evolution information. -ftree-sink Enable SSA code sinking on trees. -ftree-slp-vectorize Enable basic block vectorization (SLP) on trees. -ftree-slsr Perform straight-line strength reduction. -ftree-sra Perform scalar replacement of aggregates. -ftree-store-ccp Does nothing. Preserved for backward compatibility. -ftree-store-copy-prop Does nothing. Preserved for backward compatibility. -ftree-switch-conversion Perform conversions of switch initializations. -ftree-tail-merge Enable tail merging on trees. -ftree-ter Replace temporary expressions in the SSA->normal pass. -ftree-vect-loop-version Does nothing. Preserved for backward compatibility. -ftree-vectorize Enable vectorization on trees. -ftree-vectorizer-verbose= Does nothing. Preserved for backward compatibility. -ftree-vrp Perform Value Range Propagation on trees. -funconstrained-commons Assume common declarations may be overridden with ones with a larger trailing array. -funit-at-a-time Compile whole compilation unit at a time. -funroll-all-loops Perform loop unrolling for all loops. -funroll-loops Perform loop unrolling when iteration count is known. -funsafe-loop-optimizations Allow loop optimizations to assume that the loops behave in normal way. -funsafe-math-optimizations Allow math optimizations that may violate IEEE or ISO standards. -funswitch-loops Perform loop unswitching. -funwind-tables Just generate unwind tables for exception handling. -fuse-ld=bfd Use the bfd linker instead of the default linker. -fuse-ld=gold Use the gold linker instead of the default linker. -fuse-linker-plugin This option lacks documentation. -fvar-tracking Perform variable tracking. -fvar-tracking-assignments Perform variable tracking by annotating assignments. -fvar-tracking-assignments-toggle Toggle -fvar-tracking-assignments. -fvar-tracking-uninit Perform variable tracking and also tag variables that are uninitialized. -fvariable-expansion-in-unroller Apply variable expansion when loops are unrolled. -fvect-cost-model Enables the dynamic vectorizer cost model. Preserved for backward compatibility. Same as -fvect-cost-model=. -fvect-cost-model= Specifies the cost model for vectorization. -fverbose-asm Add extra commentary to assembler output. -fversion This option lacks documentation. -fvisibility=[default|internal|hidden|protected] Set the default symbol visibility. -fvpt Use expression value profiles in optimizations. -fvtable-verify= Validate vtable pointers before using them. -fvtv-counts Output vtable verification counters. -fvtv-debug Output vtable verification pointer sets information. -fweb Construct webs and split unrelated uses of single variable. -fwhole-program Perform whole program optimizations. -fwrapv Assume signed arithmetic overflow wraps around. -fzee Does nothing. Preserved for backward compatibility. -fzero-initialized-in-bss Put zero initialized data in the bss section. -g Generate debug information in default format. -gcoff Generate debug information in COFF format. -gdwarf Generate debug information in default version of DWARF format. -gdwarf- Generate debug information in DWARF v2 (or later) format. -ggdb Generate debug information in default extended format. -ggnu-pubnames Generate DWARF pubnames and pubtypes sections with GNU extensions. -gno-pubnames Don't generate DWARF pubnames and pubtypes sections. -gno-record-gcc-switches Don't record gcc command line switches in DWARF DW_AT_producer. -gno-split-dwarf Don't generate debug information in separate .dwo files. -gno-strict-dwarf Emit DWARF additions beyond selected version. -gpubnames Generate DWARF pubnames and pubtypes sections. -grecord-gcc-switches Record gcc command line switches in DWARF DW_AT_producer. -gsplit-dwarf Generate debug information in separate .dwo files. -gstabs Generate debug information in STABS format. -gstabs+ Generate debug information in extended STABS format. -gstrict-dwarf Don't emit DWARF additions beyond selected version. -gtoggle Toggle debug information generation. -gvms Generate debug information in VMS format. -gxcoff Generate debug information in XCOFF format. -gxcoff+ Generate debug information in extended XCOFF format. -gz Generate compressed debug sections. -gz=<format> Generate compressed debug sections in format <format>. -imultiarch <dir> Set <dir> to be the multiarch include subdirectory. -iplugindir=<dir> Set <dir> to be the default plugin directory. -o <file> Place output into <file>. -p Enable function profiling. -pedantic Same as -Wpedantic. Use the latter option instead. -pedantic-errors Like -pedantic but issue them as errors. -quiet Do not display functions compiled or elapsed time. -v Enable verbose output. -version Display the compiler's version. -w Suppress warnings.