Next: Overall Options, Up: Invoking GCC [Contents][Index]

### 3.1 Option Summary

Here is a summary of all the options, grouped by type. Explanations are in the following sections.

Overall Options

  See Options Controlling the Kind of Output.

      -c  -S  -E  -o file
      -dumpbase dumpbase  -dumpbase-ext auxdropsuf
      -dumpdir dumppfx  -x language
      -v  -###  --help[=class[,…]]  --target-help  --version
      -pass-exit-codes  -pipe  -specs=file  -wrapper
      @file  -ffile-prefix-map=old=new  -fcanon-prefix-map
      -fplugin=file  -fplugin-arg-name=arg
      -fdump-ada-spec[-slim]  -fada-spec-parent=unit  -fdump-go-spec=file

C Language Options

  See Options Controlling C Dialect.

      -ansi  -std=standard  -aux-info filename
      -fno-asm
      -fno-builtin  -fno-builtin-function  -fcond-mismatch
      -ffreestanding  -fgimple  -fgnu-tm  -fgnu89-inline  -fhosted
      -flax-vector-conversions  -fms-extensions
      -foffload=arg  -foffload-options=arg
      -fopenacc  -fopenacc-dim=geom
      -fopenmp  -fopenmp-simd  -fopenmp-target-simd-clone[=device-type]
      -fpermitted-flt-eval-methods=standard
      -fplan9-extensions  -fsigned-bitfields  -funsigned-bitfields
      -fsigned-char  -funsigned-char  -fstrict-flex-arrays[=n]
      -fsso-struct=endianness

C++ Language Options

  See Options Controlling C++ Dialect.

      -fabi-version=n  -fno-access-control
      -faligned-new=n  -fargs-in-order=n  -fchar8_t  -fcheck-new
      -fconstexpr-depth=n  -fconstexpr-cache-depth=n
      -fconstexpr-loop-limit=n  -fconstexpr-ops-limit=n
      -fno-elide-constructors
      -fno-enforce-eh-specs
      -fno-gnu-keywords
      -fno-immediate-escalation
      -fno-implicit-templates
      -fno-implicit-inline-templates
      -fno-implement-inlines
      -fmodule-header[=kind] -fmodule-only -fmodules-ts
      -fmodule-implicit-inline
      -fno-module-lazy
      -fmodule-mapper=specification
      -fmodule-version-ignore
      -fms-extensions
      -fnew-inheriting-ctors
      -fnew-ttp-matching
      -fno-nonansi-builtins  -fnothrow-opt  -fno-operator-names
      -fno-optional-diags
      -fno-pretty-templates
      -fno-rtti  -fsized-deallocation
      -ftemplate-backtrace-limit=n
      -ftemplate-depth=n
      -fno-threadsafe-statics  -fuse-cxa-atexit
      -fno-weak  -nostdinc++
      -fvisibility-inlines-hidden
      -fvisibility-ms-compat
      -fext-numeric-literals
      -flang-info-include-translate[=header]
      -flang-info-include-translate-not
      -flang-info-module-cmi[=module]
      -stdlib=libstdc++,libc++
      -Wabi-tag  -Wcatch-value  -Wcatch-value=n
      -Wno-class-conversion  -Wclass-memaccess
      -Wcomma-subscript  -Wconditionally-supported
      -Wno-conversion-null  -Wctad-maybe-unsupported
      -Wctor-dtor-privacy  -Wdangling-reference
      -Wno-delete-incomplete
      -Wdelete-non-virtual-dtor  -Wno-deprecated-array-compare
      -Wdeprecated-copy -Wdeprecated-copy-dtor
      -Wno-deprecated-enum-enum-conversion -Wno-deprecated-enum-float-conversion
      -Weffc++ -Wno-elaborated-enum-base
      -Wno-exceptions -Wextra-semi -Wno-global-module -Wno-inaccessible-base
      -Wno-inherited-variadic-ctor  -Wno-init-list-lifetime
      -Winvalid-constexpr -Winvalid-imported-macros
      -Wno-invalid-offsetof  -Wno-literal-suffix
      -Wmismatched-new-delete -Wmismatched-tags
      -Wmultiple-inheritance  -Wnamespaces  -Wnarrowing
      -Wnoexcept  -Wnoexcept-type  -Wnon-virtual-dtor
      -Wpessimizing-move  -Wno-placement-new  -Wplacement-new=n
      -Wrange-loop-construct -Wredundant-move -Wredundant-tags
      -Wreorder  -Wregister
      -Wstrict-null-sentinel  -Wno-subobject-linkage  -Wtemplates
      -Wno-non-template-friend  -Wold-style-cast
      -Woverloaded-virtual  -Wno-pmf-conversions -Wself-move -Wsign-promo
      -Wsized-deallocation  -Wsuggest-final-methods
      -Wsuggest-final-types  -Wsuggest-override  -Wno-template-id-cdtor
      -Wno-terminate  -Wno-vexing-parse  -Wvirtual-inheritance
      -Wno-virtual-move-assign  -Wvolatile  -Wzero-as-null-pointer-constant

Objective-C and Objective-C++ Language Options

  See Options Controlling Objective-C and Objective-C++ Dialects.

      -fconstant-string-class=class-name
      -fgnu-runtime  -fnext-runtime
      -fno-nil-receivers
      -fobjc-abi-version=n
      -fobjc-call-cxx-cdtors
      -fobjc-direct-dispatch
      -fobjc-exceptions
      -fobjc-gc
      -fobjc-nilcheck
      -fobjc-std=objc1
      -fno-local-ivars
      -fivar-visibility=[public|protected|private|package]
      -freplace-objc-classes
      -fzero-link
      -gen-decls
      -Wassign-intercept  -Wno-property-assign-default
      -Wno-protocol -Wobjc-root-class -Wselector
      -Wstrict-selector-match
      -Wundeclared-selector

Diagnostic Message Formatting Options

  See Options to Control Diagnostic Messages Formatting.

      -fmessage-length=n
      -fdiagnostics-plain-output
      -fdiagnostics-show-location=[once|every-line]
      -fdiagnostics-color=[auto|never|always]
      -fdiagnostics-urls=[auto|never|always]
      -fdiagnostics-format=[text|sarif-stderr|sarif-file|json|json-stderr|json-file]
      -fno-diagnostics-json-formatting
      -fno-diagnostics-show-option  -fno-diagnostics-show-caret
      -fno-diagnostics-show-labels  -fno-diagnostics-show-line-numbers
      -fno-diagnostics-show-cwe
      -fno-diagnostics-show-rule
      -fdiagnostics-minimum-margin-width=width
      -fdiagnostics-parseable-fixits  -fdiagnostics-generate-patch
      -fdiagnostics-show-template-tree  -fno-elide-type
      -fdiagnostics-path-format=[none|separate-events|inline-events]
      -fdiagnostics-show-path-depths
      -fno-show-column
      -fdiagnostics-column-unit=[display|byte]
      -fdiagnostics-column-origin=origin
      -fdiagnostics-escape-format=[unicode|bytes]
      -fdiagnostics-text-art-charset=[none|ascii|unicode|emoji]

Warning Options

  See Options to Request or Suppress Warnings.

      -fsyntax-only  -fmax-errors=n  -Wpedantic
      -pedantic-errors -fpermissive
      -w  -Wextra  -Wall  -Wabi=n
      -Waddress  -Wno-address-of-packed-member  -Waggregate-return
      -Walloc-size  -Walloc-size-larger-than=byte-size  -Walloc-zero
      -Walloca  -Walloca-larger-than=byte-size
      -Wno-aggressive-loop-optimizations
      -Warith-conversion
      -Warray-bounds  -Warray-bounds=n  -Warray-compare
      -Warray-parameter  -Warray-parameter=n
      -Wno-attributes  -Wattribute-alias=n -Wno-attribute-alias
      -Wno-attribute-warning
      -Wbidi-chars=[none|unpaired|any|ucn]
      -Wbool-compare  -Wbool-operation
      -Wno-builtin-declaration-mismatch
      -Wno-builtin-macro-redefined  -Wc90-c99-compat  -Wc99-c11-compat
      -Wc11-c23-compat
      -Wc++-compat  -Wc++11-compat  -Wc++14-compat  -Wc++17-compat
      -Wc++20-compat
      -Wno-c++11-extensions  -Wno-c++14-extensions -Wno-c++17-extensions
      -Wno-c++20-extensions  -Wno-c++23-extensions
      -Wcalloc-transposed-args
      -Wcast-align  -Wcast-align=strict  -Wcast-function-type  -Wcast-qual
      -Wchar-subscripts
      -Wclobbered  -Wcomment
      -Wcompare-distinct-pointer-types
      -Wno-complain-wrong-lang
      -Wconversion  -Wno-coverage-mismatch  -Wno-cpp
      -Wdangling-else  -Wdangling-pointer  -Wdangling-pointer=n
      -Wdate-time
      -Wno-deprecated  -Wno-deprecated-declarations  -Wno-designated-init
      -Wdisabled-optimization
      -Wno-discarded-array-qualifiers  -Wno-discarded-qualifiers
      -Wno-div-by-zero  -Wdouble-promotion
      -Wduplicated-branches  -Wduplicated-cond
      -Wempty-body  -Wno-endif-labels  -Wenum-compare  -Wenum-conversion
      -Wenum-int-mismatch
      -Werror  -Werror=*  -Wexpansion-to-defined  -Wfatal-errors
      -Wflex-array-member-not-at-end
      -Wfloat-conversion  -Wfloat-equal  -Wformat  -Wformat=2
      -Wno-format-contains-nul  -Wno-format-extra-args
      -Wformat-nonliteral  -Wformat-overflow=n
      -Wformat-security  -Wformat-signedness  -Wformat-truncation=n
      -Wformat-y2k  -Wframe-address
      -Wframe-larger-than=byte-size  -Wno-free-nonheap-object
      -Wno-if-not-aligned  -Wno-ignored-attributes
      -Wignored-qualifiers  -Wno-incompatible-pointer-types  -Whardened
      -Wimplicit  -Wimplicit-fallthrough  -Wimplicit-fallthrough=n
      -Wno-implicit-function-declaration  -Wno-implicit-int
      -Winfinite-recursion
      -Winit-self  -Winline  -Wno-int-conversion  -Wint-in-bool-context
      -Wno-int-to-pointer-cast  -Wno-invalid-memory-model
      -Winvalid-pch  -Winvalid-utf8  -Wno-unicode  -Wjump-misses-init
      -Wlarger-than=byte-size  -Wlogical-not-parentheses  -Wlogical-op
      -Wlong-long  -Wno-lto-type-mismatch -Wmain  -Wmaybe-uninitialized
      -Wmemset-elt-size  -Wmemset-transposed-args
      -Wmisleading-indentation  -Wmissing-attributes  -Wmissing-braces
      -Wmissing-field-initializers  -Wmissing-format-attribute
      -Wmissing-include-dirs  -Wmissing-noreturn  -Wno-missing-profile
      -Wno-multichar  -Wmultistatement-macros  -Wnonnull  -Wnonnull-compare
      -Wnormalized=[none|id|nfc|nfkc]
      -Wnull-dereference  -Wno-odr
      -Wopenacc-parallelism
      -Wopenmp -Wopenmp-simd
      -Wno-overflow  -Woverlength-strings  -Wno-override-init-side-effects
      -Wpacked  -Wno-packed-bitfield-compat  -Wpacked-not-aligned  -Wpadded
      -Wparentheses  -Wno-pedantic-ms-format
      -Wpointer-arith  -Wno-pointer-compare  -Wno-pointer-to-int-cast
      -Wno-pragmas  -Wno-prio-ctor-dtor  -Wredundant-decls
      -Wrestrict  -Wno-return-local-addr  -Wreturn-type
      -Wno-scalar-storage-order  -Wsequence-point
      -Wshadow  -Wshadow=global  -Wshadow=local  -Wshadow=compatible-local
      -Wno-shadow-ivar
      -Wno-shift-count-negative  -Wno-shift-count-overflow  -Wshift-negative-value
      -Wno-shift-overflow  -Wshift-overflow=n
      -Wsign-compare  -Wsign-conversion
      -Wno-sizeof-array-argument
      -Wsizeof-array-div
      -Wsizeof-pointer-div  -Wsizeof-pointer-memaccess
      -Wstack-protector  -Wstack-usage=byte-size  -Wstrict-aliasing
      -Wstrict-aliasing=n  -Wstrict-overflow  -Wstrict-overflow=n
      -Wstring-compare
      -Wno-stringop-overflow -Wno-stringop-overread
      -Wno-stringop-truncation  -Wstrict-flex-arrays
      -Wsuggest-attribute=[pure|const|noreturn|format|malloc]
      -Wswitch  -Wno-switch-bool  -Wswitch-default  -Wswitch-enum
      -Wno-switch-outside-range  -Wno-switch-unreachable  -Wsync-nand
      -Wsystem-headers  -Wtautological-compare  -Wtrampolines  -Wtrigraphs
      -Wtrivial-auto-var-init  -Wno-tsan  -Wtype-limits  -Wundef
      -Wuninitialized  -Wunknown-pragmas
      -Wunsuffixed-float-constants  -Wunused
      -Wunused-but-set-parameter  -Wunused-but-set-variable
      -Wunused-const-variable  -Wunused-const-variable=n
      -Wunused-function  -Wunused-label  -Wunused-local-typedefs
      -Wunused-macros
      -Wunused-parameter  -Wno-unused-result
      -Wunused-value  -Wunused-variable
      -Wuse-after-free  -Wuse-after-free=n  -Wuseless-cast
      -Wno-varargs  -Wvariadic-macros
      -Wvector-operation-performance
      -Wvla  -Wvla-larger-than=byte-size  -Wno-vla-larger-than
      -Wvolatile-register-var  -Wwrite-strings
      -Wno-xor-used-as-pow
      -Wzero-length-bounds

Static Analyzer Options

      -fanalyzer
      -fanalyzer-call-summaries
      -fanalyzer-checker=name
      -fno-analyzer-feasibility
      -fanalyzer-fine-grained
      -fanalyzer-show-events-in-system-headers
      -fno-analyzer-state-merge
      -fno-analyzer-state-purge
      -fno-analyzer-suppress-followups
      -fanalyzer-transitivity
      -fno-analyzer-undo-inlining
      -fanalyzer-verbose-edges
      -fanalyzer-verbose-state-changes
      -fanalyzer-verbosity=level
      -fdump-analyzer
      -fdump-analyzer-callgraph
      -fdump-analyzer-exploded-graph
      -fdump-analyzer-exploded-nodes
      -fdump-analyzer-exploded-nodes-2
      -fdump-analyzer-exploded-nodes-3
      -fdump-analyzer-exploded-paths
      -fdump-analyzer-feasibility
      -fdump-analyzer-infinite-loop
      -fdump-analyzer-json
      -fdump-analyzer-state-purge
      -fdump-analyzer-stderr
      -fdump-analyzer-supergraph
      -fdump-analyzer-untracked
      -Wno-analyzer-double-fclose
      -Wno-analyzer-double-free
      -Wno-analyzer-exposure-through-output-file
      -Wno-analyzer-exposure-through-uninit-copy
      -Wno-analyzer-fd-access-mode-mismatch
      -Wno-analyzer-fd-double-close
      -Wno-analyzer-fd-leak
      -Wno-analyzer-fd-phase-mismatch
      -Wno-analyzer-fd-type-mismatch
      -Wno-analyzer-fd-use-after-close
      -Wno-analyzer-fd-use-without-check
      -Wno-analyzer-file-leak
      -Wno-analyzer-free-of-non-heap
      -Wno-analyzer-imprecise-fp-arithmetic
      -Wno-analyzer-infinite-loop
      -Wno-analyzer-infinite-recursion
      -Wno-analyzer-jump-through-null
      -Wno-analyzer-malloc-leak
      -Wno-analyzer-mismatching-deallocation
      -Wno-analyzer-null-argument
      -Wno-analyzer-null-dereference
      -Wno-analyzer-out-of-bounds
      -Wno-analyzer-overlapping-buffers
      -Wno-analyzer-possible-null-argument
      -Wno-analyzer-possible-null-dereference
      -Wno-analyzer-putenv-of-auto-var
      -Wno-analyzer-shift-count-negative
      -Wno-analyzer-shift-count-overflow
      -Wno-analyzer-stale-setjmp-buffer
      -Wno-analyzer-tainted-allocation-size
      -Wno-analyzer-tainted-assertion
      -Wno-analyzer-tainted-array-index
      -Wno-analyzer-tainted-divisor
      -Wno-analyzer-tainted-offset
      -Wno-analyzer-tainted-size
      -Wanalyzer-symbol-too-complex
      -Wanalyzer-too-complex
      -Wno-analyzer-undefined-behavior-strtok
      -Wno-analyzer-unsafe-call-within-signal-handler
      -Wno-analyzer-use-after-free
      -Wno-analyzer-use-of-pointer-in-stale-stack-frame
      -Wno-analyzer-use-of-uninitialized-value
      -Wno-analyzer-va-arg-type-mismatch
      -Wno-analyzer-va-list-exhausted
      -Wno-analyzer-va-list-leak
      -Wno-analyzer-va-list-use-after-va-end
      -Wno-analyzer-write-to-const
      -Wno-analyzer-write-to-string-literal

C and Objective-C-only Warning Options

      -Wbad-function-cast  -Wmissing-declarations
      -Wmissing-parameter-type -Wdeclaration-missing-parameter-type
      -Wmissing-prototypes -Wmissing-variable-declarations
      -Wnested-externs -Wold-style-declaration  -Wold-style-definition
      -Wstrict-prototypes  -Wtraditional  -Wtraditional-conversion
      -Wdeclaration-after-statement  -Wpointer-sign

Debugging Options

  See Options for Debugging Your Program.

      -g  -glevel  -gdwarf  -gdwarf-version
      -gbtf -gctf  -gctflevel
      -ggdb  -grecord-gcc-switches  -gno-record-gcc-switches
      -gstrict-dwarf  -gno-strict-dwarf
      -gas-loc-support  -gno-as-loc-support
      -gas-locview-support  -gno-as-locview-support
      -gcodeview
      -gcolumn-info  -gno-column-info  -gdwarf32  -gdwarf64
      -gstatement-frontiers  -gno-statement-frontiers
      -gvariable-location-views  -gno-variable-location-views
      -ginternal-reset-location-views  -gno-internal-reset-location-views
      -ginline-points  -gno-inline-points
      -gvms -gz[=type]
      -gsplit-dwarf  -gdescribe-dies  -gno-describe-dies
      -fdebug-prefix-map=old=new  -fdebug-types-section
      -fno-eliminate-unused-debug-types
      -femit-struct-debug-baseonly  -femit-struct-debug-reduced
      -femit-struct-debug-detailed[=spec-list]
      -fno-eliminate-unused-debug-symbols  -femit-class-debug-always
      -fno-merge-debug-strings  -fno-dwarf2-cfi-asm
      -fvar-tracking  -fvar-tracking-assignments

Optimization Options

  See Options that Control Optimization.

      -faggressive-loop-optimizations
      -falign-functions[=n[:m:[n2[:m2]]]]
      -falign-jumps[=n[:m:[n2[:m2]]]]
      -falign-labels[=n[:m:[n2[:m2]]]]
      -falign-loops[=n[:m:[n2[:m2]]]]
      -fmin-function-alignment=[n]
      -fno-allocation-dce -fallow-store-data-races
      -fassociative-math  -fauto-profile  -fauto-profile[=path]
      -fauto-inc-dec  -fbranch-probabilities
      -fcaller-saves
      -fcombine-stack-adjustments  -fconserve-stack
      -ffold-mem-offsets
      -fcompare-elim  -fcprop-registers  -fcrossjumping
      -fcse-follow-jumps  -fcse-skip-blocks  -fcx-fortran-rules
      -fcx-limited-range
      -fdata-sections  -fdce  -fdelayed-branch
      -fdelete-null-pointer-checks  -fdevirtualize  -fdevirtualize-speculatively
      -fdevirtualize-at-ltrans  -fdse
      -fearly-inlining  -fipa-sra  -fexpensive-optimizations  -ffat-lto-objects
      -ffast-math  -ffinite-math-only  -ffloat-store  -fexcess-precision=style
      -ffinite-loops
      -fforward-propagate  -ffp-contract=style  -ffunction-sections
      -fgcse  -fgcse-after-reload  -fgcse-las  -fgcse-lm  -fgraphite-identity
      -fgcse-sm  -fhoist-adjacent-loads  -fif-conversion
      -fif-conversion2  -findirect-inlining
      -finline-stringops[=fn]
      -finline-functions  -finline-functions-called-once  -finline-limit=n
      -finline-small-functions -fipa-modref -fipa-cp  -fipa-cp-clone
      -fipa-bit-cp  -fipa-vrp  -fipa-pta  -fipa-profile  -fipa-pure-const
      -fipa-reference  -fipa-reference-addressable
      -fipa-stack-alignment  -fipa-icf  -fira-algorithm=algorithm
      -flive-patching=level
      -fira-region=region  -fira-hoist-pressure
      -fira-loop-pressure  -fno-ira-share-save-slots
      -fno-ira-share-spill-slots
      -fisolate-erroneous-paths-dereference  -fisolate-erroneous-paths-attribute
      -fivopts  -fkeep-inline-functions  -fkeep-static-functions
      -fkeep-static-consts  -flimit-function-alignment  -flive-range-shrinkage
      -floop-block  -floop-interchange  -floop-strip-mine
      -floop-unroll-and-jam  -floop-nest-optimize
      -floop-parallelize-all  -flra-remat  -flto  -flto-compression-level
      -flto-partition=alg  -fmerge-all-constants
      -fmerge-constants  -fmodulo-sched  -fmodulo-sched-allow-regmoves
      -fmove-loop-invariants  -fmove-loop-stores  -fno-branch-count-reg
      -fno-defer-pop  -fno-fp-int-builtin-inexact  -fno-function-cse
      -fno-guess-branch-probability  -fno-inline  -fno-math-errno  -fno-peephole
      -fno-peephole2  -fno-printf-return-value  -fno-sched-interblock
      -fno-sched-spec  -fno-signed-zeros
      -fno-toplevel-reorder  -fno-trapping-math  -fno-zero-initialized-in-bss
      -fomit-frame-pointer  -foptimize-sibling-calls
      -fpartial-inlining  -fpeel-loops  -fpredictive-commoning
      -fprefetch-loop-arrays
      -fprofile-correction
      -fprofile-use  -fprofile-use=path -fprofile-partial-training
      -fprofile-values -fprofile-reorder-functions
      -freciprocal-math  -free  -frename-registers  -freorder-blocks
      -freorder-blocks-algorithm=algorithm
      -freorder-blocks-and-partition  -freorder-functions
      -frerun-cse-after-loop  -freschedule-modulo-scheduled-loops
      -frounding-math  -fsave-optimization-record
      -fsched2-use-superblocks  -fsched-pressure
      -fsched-spec-load  -fsched-spec-load-dangerous
      -fsched-stalled-insns-dep[=n]  -fsched-stalled-insns[=n]
      -fsched-group-heuristic  -fsched-critical-path-heuristic
      -fsched-spec-insn-heuristic  -fsched-rank-heuristic
      -fsched-last-insn-heuristic  -fsched-dep-count-heuristic
      -fschedule-fusion
      -fschedule-insns  -fschedule-insns2  -fsection-anchors
      -fselective-scheduling  -fselective-scheduling2
      -fsel-sched-pipelining  -fsel-sched-pipelining-outer-loops
      -fsemantic-interposition  -fshrink-wrap  -fshrink-wrap-separate
      -fsignaling-nans
      -fsingle-precision-constant  -fsplit-ivs-in-unroller  -fsplit-loops
      -fsplit-paths
      -fsplit-wide-types  -fsplit-wide-types-early  -fssa-backprop  -fssa-phiopt
      -fstdarg-opt  -fstore-merging  -fstrict-aliasing -fipa-strict-aliasing
      -fthread-jumps  -ftracer  -ftree-bit-ccp
      -ftree-builtin-call-dce  -ftree-ccp  -ftree-ch
      -ftree-coalesce-vars  -ftree-copy-prop  -ftree-dce  -ftree-dominator-opts
      -ftree-dse  -ftree-forwprop  -ftree-fre  -fcode-hoisting
      -ftree-loop-if-convert  -ftree-loop-im
      -ftree-phiprop  -ftree-loop-distribution  -ftree-loop-distribute-patterns
      -ftree-loop-ivcanon  -ftree-loop-linear  -ftree-loop-optimize
      -ftree-loop-vectorize
      -ftree-parallelize-loops=n  -ftree-pre  -ftree-partial-pre  -ftree-pta
      -ftree-reassoc  -ftree-scev-cprop  -ftree-sink  -ftree-slsr  -ftree-sra
      -ftree-switch-conversion  -ftree-tail-merge
      -ftree-ter  -ftree-vectorize  -ftree-vrp  -ftrivial-auto-var-init
      -funconstrained-commons -funit-at-a-time  -funroll-all-loops
      -funroll-loops -funsafe-math-optimizations  -funswitch-loops
      -fipa-ra  -fvariable-expansion-in-unroller  -fvect-cost-model  -fvpt
      -fweb  -fwhole-program  -fwpa  -fuse-linker-plugin -fzero-call-used-regs
      --param name=value
      -O  -O0  -O1  -O2  -O3  -Os  -Ofast  -Og  -Oz

Program Instrumentation Options

  See Program Instrumentation Options.

      -p  -pg  -fprofile-arcs  --coverage  -ftest-coverage
      -fcondition-coverage
      -fprofile-abs-path
      -fprofile-dir=path  -fprofile-generate  -fprofile-generate=path
      -fprofile-info-section  -fprofile-info-section=name
      -fprofile-note=path -fprofile-prefix-path=path
      -fprofile-update=method -fprofile-filter-files=regex
      -fprofile-exclude-files=regex
      -fprofile-reproducible=[multithreaded|parallel-runs|serial]
      -fsanitize=style  -fsanitize-recover  -fsanitize-recover=style
      -fsanitize-trap   -fsanitize-trap=style
      -fasan-shadow-offset=number  -fsanitize-sections=s1,s2,...
      -fsanitize-undefined-trap-on-error  -fbounds-check
      -fcf-protection=[full|branch|return|none|check]
      -fharden-compares -fharden-conditional-branches  -fhardened
      -fharden-control-flow-redundancy  -fhardcfr-skip-leaf
      -fhardcfr-check-exceptions  -fhardcfr-check-returning-calls
      -fhardcfr-check-noreturn-calls=[always|no-xthrow|nothrow|never]
      -fstack-protector  -fstack-protector-all  -fstack-protector-strong
      -fstack-protector-explicit  -fstack-check
      -fstack-limit-register=reg  -fstack-limit-symbol=sym
      -fno-stack-limit  -fsplit-stack
      -fstrub=disable  -fstrub=strict  -fstrub=relaxed
      -fstrub=all  -fstrub=at-calls  -fstrub=internal
      -fvtable-verify=[std|preinit|none]
      -fvtv-counts  -fvtv-debug
      -finstrument-functions  -finstrument-functions-once
      -finstrument-functions-exclude-function-list=sym,sym,…
      -finstrument-functions-exclude-file-list=file,file,…
      -fprofile-prefix-map=old=new
      -fpatchable-function-entry=N[,M]

Preprocessor Options

  See Options Controlling the Preprocessor.

      -Aquestion=answer
      -A-question[=answer]
      -C  -CC  -Dmacro[=defn]
      -dD  -dI  -dM  -dN  -dU
      -fdebug-cpp  -fdirectives-only  -fdollars-in-identifiers
      -fexec-charset=charset  -fextended-identifiers
      -finput-charset=charset  -flarge-source-files
      -fmacro-prefix-map=old=new -fmax-include-depth=depth
      -fno-canonical-system-headers  -fpch-deps  -fpch-preprocess
      -fpreprocessed  -ftabstop=width  -ftrack-macro-expansion
      -fwide-exec-charset=charset  -fworking-directory
      -H  -imacros file  -include file
      -M  -MD  -MF  -MG  -MM  -MMD  -MP  -MQ  -MT -Mno-modules
      -no-integrated-cpp  -P  -pthread  -remap
      -traditional  -traditional-cpp  -trigraphs
      -Umacro  -undef
      -Wp,option  -Xpreprocessor option

Assembler Options

  See Passing Options to the Assembler.

      -Wa,option  -Xassembler option

Linker Options

  See Options for Linking.

      object-file-name  -fuse-ld=linker  -llibrary
      -nostartfiles  -nodefaultlibs  -nolibc  -nostdlib  -nostdlib++
      -e entry  --entry=entry
      -pie  -pthread  -r  -rdynamic
      -s  -static  -static-pie  -static-libgcc  -static-libstdc++
      -static-libasan  -static-libtsan  -static-liblsan  -static-libubsan
      -shared  -shared-libgcc  -symbolic
      -T script  -Wl,option  -Xlinker option
      -u symbol  -z keyword

Directory Options

  See Options for Directory Search.

      -Bprefix  -Idir  -I-
      -idirafter dir
      -imacros file  -imultilib dir
      -iplugindir=dir  -iprefix file
      -iquote dir  -isysroot dir  -isystem dir
      -iwithprefix dir  -iwithprefixbefore dir
      -Ldir  -no-canonical-prefixes  --no-sysroot-suffix
      -nostdinc  -nostdinc++  --sysroot=dir

Code Generation Options

  See Options for Code Generation Conventions.

      -fcall-saved-reg  -fcall-used-reg
      -ffixed-reg  -fexceptions
      -fnon-call-exceptions  -fdelete-dead-exceptions  -funwind-tables
      -fasynchronous-unwind-tables
      -fno-gnu-unique
      -finhibit-size-directive  -fcommon  -fno-ident
      -fpcc-struct-return  -fpic  -fPIC  -fpie  -fPIE  -fno-plt
      -fno-jump-tables -fno-bit-tests
      -frecord-gcc-switches
      -freg-struct-return  -fshort-enums  -fshort-wchar
      -fverbose-asm  -fpack-struct[=n]
      -fleading-underscore  -ftls-model=model
      -fstack-reuse=reuse_level
      -ftrampolines -ftrampoline-impl=[stack|heap]
      -ftrapv  -fwrapv
      -fvisibility=[default|internal|hidden|protected]
      -fstrict-volatile-bitfields  -fsync-libcalls

Developer Options

  See GCC Developer Options.

      -dletters  -dumpspecs  -dumpmachine  -dumpversion
      -dumpfullversion  -fcallgraph-info[=su,da]
      -fchecking  -fchecking=n
      -fdbg-cnt-list  -fdbg-cnt=counter-value-list
      -fdisable-ipa-pass_name
      -fdisable-rtl-pass_name
      -fdisable-rtl-pass-name=range-list
      -fdisable-tree-pass_name
      -fdisable-tree-pass-name=range-list
      -fdump-debug  -fdump-earlydebug
      -fdump-noaddr  -fdump-unnumbered  -fdump-unnumbered-links
      -fdump-final-insns[=file]
      -fdump-ipa-all  -fdump-ipa-cgraph  -fdump-ipa-inline
      -fdump-lang-all
      -fdump-lang-switch
      -fdump-lang-switch-options
      -fdump-lang-switch-options=filename
      -fdump-passes
      -fdump-rtl-pass  -fdump-rtl-pass=filename
      -fdump-statistics
      -fdump-tree-all
      -fdump-tree-switch
      -fdump-tree-switch-options
      -fdump-tree-switch-options=filename
      -fcompare-debug[=opts]  -fcompare-debug-second
      -fenable-kind-pass
      -fenable-kind-pass=range-list
      -fira-verbose=n
      -flto-report  -flto-report-wpa  -fmem-report-wpa
      -fmem-report  -fpre-ipa-mem-report  -fpost-ipa-mem-report
      -fopt-info  -fopt-info-options[=file]
      -fmultiflags  -fprofile-report
      -frandom-seed=string  -fsched-verbose=n
      -fsel-sched-verbose  -fsel-sched-dump-cfg  -fsel-sched-pipelining-verbose
      -fstats  -fstack-usage  -ftime-report  -ftime-report-details
      -fvar-tracking-assignments-toggle  -gtoggle
      -print-file-name=library  -print-libgcc-file-name
      -print-multi-directory  -print-multi-lib  -print-multi-os-directory
      -print-prog-name=program  -print-search-dirs  -Q
      -print-sysroot  -print-sysroot-headers-suffix
      -save-temps  -save-temps=cwd  -save-temps=obj  -time[=file]

Machine-Dependent Options

  See Machine-Dependent Options.

  AArch64 Options

      -mabi=name  -mbig-endian  -mlittle-endian
      -mgeneral-regs-only
      -mcmodel=tiny  -mcmodel=small  -mcmodel=large
      -mstrict-align  -mno-strict-align
      -momit-leaf-frame-pointer
      -mtls-dialect=desc  -mtls-dialect=traditional
      -mtls-size=size
      -mfix-cortex-a53-835769  -mfix-cortex-a53-843419
      -mlow-precision-recip-sqrt  -mlow-precision-sqrt  -mlow-precision-div
      -mpc-relative-literal-loads
      -msign-return-address=scope
      -mbranch-protection=none|standard|pac-ret[+leaf
      +b-key]|bti
      -mharden-sls=opts
      -march=name  -mcpu=name  -mtune=name
      -moverride=string  -mverbose-cost-dump
      -mstack-protector-guard=guard -mstack-protector-guard-reg=sysreg
      -mstack-protector-guard-offset=offset -mtrack-speculation
      -moutline-atomics -mearly-ldp-fusion -mlate-ldp-fusion

  Adapteva Epiphany Options

      -mhalf-reg-file  -mprefer-short-insn-regs
      -mbranch-cost=num  -mcmove  -mnops=num  -msoft-cmpsf
      -msplit-lohi  -mpost-inc  -mpost-modify  -mstack-offset=num
      -mround-nearest  -mlong-calls  -mshort-calls  -msmall16
      -mfp-mode=mode  -mvect-double  -max-vect-align=num
      -msplit-vecmove-early  -m1reg-reg

  AMD GCN Options

      -march=gpu -mtune=gpu -mstack-size=bytes

  ARC Options

      -mbarrel-shifter  -mjli-always
      -mcpu=cpu  -mA6  -mARC600  -mA7  -mARC700
      -mdpfp  -mdpfp-compact  -mdpfp-fast  -mno-dpfp-lrsr
      -mea  -mno-mpy  -mmul32x16  -mmul64  -matomic
      -mnorm  -mspfp  -mspfp-compact  -mspfp-fast  -msimd  -msoft-float  -mswap
      -mcrc  -mdsp-packa  -mdvbf  -mlock  -mmac-d16  -mmac-24  -mrtsc  -mswape
      -mtelephony  -mxy  -misize  -mannotate-align  -marclinux  -marclinux_prof
      -mlong-calls  -mmedium-calls  -msdata  -mirq-ctrl-saved
      -mrgf-banked-regs  -mlpc-width=width  -G num
      -mvolatile-cache  -mtp-regno=regno
      -malign-call  -mauto-modify-reg  -mbbit-peephole  -mno-brcc
      -mcase-vector-pcrel  -mcompact-casesi  -mno-cond-exec  -mearly-cbranchsi
      -mexpand-adddi  -mindexed-loads  -mlra  -mlra-priority-none
      -mlra-priority-compact -mlra-priority-noncompact  -mmillicode
      -mmixed-code  -mq-class  -mRcq  -mRcw  -msize-level=level
      -mtune=cpu  -mmultcost=num  -mcode-density-frame
      -munalign-prob-threshold=probability  -mmpy-option=multo
      -mdiv-rem  -mcode-density  -mll64  -mfpu=fpu  -mrf16  -mbranch-index

  ARM Options

      -mapcs-frame  -mno-apcs-frame
      -mabi=name
      -mapcs-stack-check  -mno-apcs-stack-check
      -mapcs-reentrant  -mno-apcs-reentrant
      -mgeneral-regs-only
      -msched-prolog  -mno-sched-prolog
      -mlittle-endian  -mbig-endian
      -mbe8  -mbe32
      -mfloat-abi=name
      -mfp16-format=name
      -mthumb-interwork  -mno-thumb-interwork
      -mcpu=name  -march=name  -mfpu=name
      -mtune=name  -mprint-tune-info
      -mstructure-size-boundary=n
      -mabort-on-noreturn
      -mlong-calls  -mno-long-calls
      -msingle-pic-base  -mno-single-pic-base
      -mpic-register=reg
      -mnop-fun-dllimport
      -mpoke-function-name
      -mthumb  -marm  -mflip-thumb
      -mtpcs-frame  -mtpcs-leaf-frame
      -mcaller-super-interworking  -mcallee-super-interworking
      -mtp=name  -mtls-dialect=dialect
      -mword-relocations
      -mfix-cortex-m3-ldrd
      -mfix-cortex-a57-aes-1742098
      -mfix-cortex-a72-aes-1655431
      -munaligned-access
      -mneon-for-64bits
      -mslow-flash-data
      -masm-syntax-unified
      -mrestrict-it
      -mverbose-cost-dump
      -mpure-code
      -mcmse
      -mfix-cmse-cve-2021-35465
      -mstack-protector-guard=guard -mstack-protector-guard-offset=offset
      -mfdpic
      -mbranch-protection=none|standard|pac-ret[+leaf]
      [+bti]|bti[+pac-ret[+leaf]]

  AVR Options

      -mmcu=mcu  -mabsdata  -maccumulate-args
      -mbranch-cost=cost  -mfuse-add=level
      -mcall-prologues  -mgas-isr-prologues  -mint8  -mflmap
      -mdouble=bits  -mlong-double=bits
      -mn_flash=size  -mno-interrupts
      -mmain-is-OS_task  -mrelax  -mrmw  -mstrict-X  -mtiny-stack
      -mrodata-in-ram  -mfract-convert-truncate
      -mshort-calls  -mskip-bug  -nodevicelib  -nodevicespecs
      -Waddr-space-convert  -Wmisspelled-isr

  Blackfin Options

      -mcpu=cpu[-sirevision]
      -msim  -momit-leaf-frame-pointer  -mno-omit-leaf-frame-pointer
      -mspecld-anomaly  -mno-specld-anomaly  -mcsync-anomaly  -mno-csync-anomaly
      -mlow-64k  -mno-low64k  -mstack-check-l1  -mid-shared-library
      -mno-id-shared-library  -mshared-library-id=n
      -mleaf-id-shared-library  -mno-leaf-id-shared-library
      -msep-data  -mno-sep-data  -mlong-calls  -mno-long-calls
      -mfast-fp  -minline-plt  -mmulticore  -mcorea  -mcoreb  -msdram
      -micplb

  C6X Options

      -mbig-endian  -mlittle-endian  -march=cpu
      -msim  -msdata=sdata-type

  CRIS Options

      -mcpu=cpu  -march=cpu
      -mtune=cpu -mmax-stack-frame=n
      -metrax4  -metrax100  -mpdebug  -mcc-init  -mno-side-effects
      -mstack-align  -mdata-align  -mconst-align
      -m32-bit  -m16-bit  -m8-bit  -mno-prologue-epilogue
      -melf  -maout  -sim  -sim2
      -mmul-bug-workaround  -mno-mul-bug-workaround

  C-SKY Options

      -march=arch  -mcpu=cpu
      -mbig-endian  -EB  -mlittle-endian  -EL
      -mhard-float  -msoft-float  -mfpu=fpu  -mdouble-float  -mfdivdu
      -mfloat-abi=name
      -melrw  -mistack  -mmp  -mcp  -mcache  -msecurity  -mtrust
      -mdsp  -medsp  -mvdsp
      -mdiv  -msmart  -mhigh-registers  -manchor
      -mpushpop  -mmultiple-stld  -mconstpool  -mstack-size  -mccrt
      -mbranch-cost=n  -mcse-cc  -msched-prolog -msim

  Darwin Options

      -all_load  -allowable_client  -arch  -arch_errors_fatal
      -arch_only  -bind_at_load  -bundle  -bundle_loader
      -client_name  -compatibility_version  -current_version
      -dead_strip
      -dependency-file  -dylib_file  -dylinker_install_name
      -dynamic  -dynamiclib  -exported_symbols_list
      -filelist  -flat_namespace  -force_cpusubtype_ALL
      -force_flat_namespace  -headerpad_max_install_names
      -iframework
      -image_base  -init  -install_name  -keep_private_externs
      -multi_module  -multiply_defined  -multiply_defined_unused
      -noall_load   -no_dead_strip_inits_and_terms -nodefaultrpaths
      -nofixprebinding  -nomultidefs  -noprebind  -noseglinkedit
      -pagezero_size  -prebind  -prebind_all_twolevel_modules
      -private_bundle  -read_only_relocs  -sectalign
      -sectobjectsymbols  -whyload  -seg1addr
      -sectcreate  -sectobjectsymbols  -sectorder
      -segaddr  -segs_read_only_addr  -segs_read_write_addr
      -seg_addr_table  -seg_addr_table_filename  -seglinkedit
      -segprot  -segs_read_only_addr  -segs_read_write_addr
      -single_module  -static  -sub_library  -sub_umbrella
      -twolevel_namespace  -umbrella  -undefined
      -unexported_symbols_list  -weak_reference_mismatches
      -whatsloaded  -F  -gused  -gfull  -mmacosx-version-min=version
      -mkernel  -mone-byte-bool

  DEC Alpha Options

      -mno-fp-regs  -msoft-float
      -mieee  -mieee-with-inexact  -mieee-conformant
      -mfp-trap-mode=mode  -mfp-rounding-mode=mode
      -mtrap-precision=mode  -mbuild-constants
      -mcpu=cpu-type  -mtune=cpu-type
      -mbwx  -mmax  -mfix  -mcix
      -mfloat-vax  -mfloat-ieee
      -mexplicit-relocs  -msmall-data  -mlarge-data
      -msmall-text  -mlarge-text
      -mmemory-latency=time

  eBPF Options

      -mbig-endian -mlittle-endian
      -mframe-limit=bytes -mxbpf -mco-re -mno-co-re -mjmpext
      -mjmp32 -malu32 -mv3-atomics -mbswap -msdiv -msmov -mcpu=version
      -masm=dialect -minline-memops-threshold=bytes

  FR30 Options

      -msmall-model  -mno-lsim

  FT32 Options

      -msim  -mlra  -mnodiv  -mft32b  -mcompress  -mnopm

  FRV Options

      -mgpr-32  -mgpr-64  -mfpr-32  -mfpr-64
      -mhard-float  -msoft-float
      -malloc-cc  -mfixed-cc  -mdword  -mno-dword
      -mdouble  -mno-double
      -mmedia  -mno-media  -mmuladd  -mno-muladd
      -mfdpic  -minline-plt  -mgprel-ro  -multilib-library-pic
      -mlinked-fp  -mlong-calls  -malign-labels
      -mlibrary-pic  -macc-4  -macc-8
      -mpack  -mno-pack  -mno-eflags  -mcond-move  -mno-cond-move
      -moptimize-membar  -mno-optimize-membar
      -mscc  -mno-scc  -mcond-exec  -mno-cond-exec
      -mvliw-branch  -mno-vliw-branch
      -mmulti-cond-exec  -mno-multi-cond-exec  -mnested-cond-exec
      -mno-nested-cond-exec  -mtomcat-stats
      -mTLS  -mtls
      -mcpu=cpu

  GNU/Linux Options

      -mglibc  -muclibc  -mmusl  -mbionic  -mandroid
      -tno-android-cc  -tno-android-ld

  H8/300 Options

      -mrelax  -mh  -ms  -mn  -mexr  -mno-exr  -mint32  -malign-300

  HPPA Options

      -march=architecture-type
      -matomic-libcalls  -mbig-switch
      -mcaller-copies  -mdisable-fpregs  -mdisable-indexing
      -mordered  -mfast-indirect-calls  -mgas  -mgnu-ld   -mhp-ld
      -mfixed-range=register-range
      -mcoherent-ldcw -mjump-in-delay  -mlinker-opt  -mlong-calls
      -mlong-load-store  -mno-atomic-libcalls  -mno-disable-fpregs
      -mno-disable-indexing  -mno-fast-indirect-calls  -mno-gas
      -mno-jump-in-delay  -mno-long-load-store
      -mno-portable-runtime  -mno-soft-float
      -mno-space-regs  -msoft-float  -mpa-risc-1-0
      -mpa-risc-1-1  -mpa-risc-2-0  -mportable-runtime
      -mschedule=cpu-type  -mspace-regs  -msoft-mult  -msio  -mwsio
      -munix=unix-std  -nolibdld  -static  -threads

  IA-64 Options

      -mbig-endian  -mlittle-endian  -mgnu-as  -mgnu-ld  -mno-pic
      -mvolatile-asm-stop  -mregister-names  -msdata  -mno-sdata
      -mconstant-gp  -mauto-pic  -mfused-madd
      -minline-float-divide-min-latency
      -minline-float-divide-max-throughput
      -mno-inline-float-divide
      -minline-int-divide-min-latency
      -minline-int-divide-max-throughput
      -mno-inline-int-divide
      -minline-sqrt-min-latency  -minline-sqrt-max-throughput
      -mno-inline-sqrt
      -mdwarf2-asm  -mearly-stop-bits
      -mfixed-range=register-range  -mtls-size=tls-size
      -mtune=cpu-type  -milp32  -mlp64
      -msched-br-data-spec  -msched-ar-data-spec  -msched-control-spec
      -msched-br-in-data-spec  -msched-ar-in-data-spec  -msched-in-control-spec
      -msched-spec-ldc  -msched-spec-control-ldc
      -msched-prefer-non-data-spec-insns  -msched-prefer-non-control-spec-insns
      -msched-stop-bits-after-every-cycle  -msched-count-spec-in-critical-path
      -msel-sched-dont-check-control-spec  -msched-fp-mem-deps-zero-cost
      -msched-max-memory-insns-hard-limit  -msched-max-memory-insns=max-insns

  LM32 Options

      -mbarrel-shift-enabled  -mdivide-enabled  -mmultiply-enabled
      -msign-extend-enabled  -muser-enabled

  LoongArch Options

      -march=arch-type  -mtune=tune-type -mabi=base-abi-type
      -mfpu=fpu-type -msimd=simd-type
      -msoft-float -msingle-float -mdouble-float -mlsx -mno-lsx -mlasx -mno-lasx
      -mbranch-cost=n  -mcheck-zero-division -mno-check-zero-division
      -mcond-move-int  -mno-cond-move-int
      -mcond-move-float  -mno-cond-move-float
      -memcpy  -mno-memcpy -mstrict-align -mno-strict-align
      -mmax-inline-memcpy-size=n
      -mexplicit-relocs=style -mexplicit-relocs -mno-explicit-relocs
      -mdirect-extern-access -mno-direct-extern-access
      -mcmodel=code-model -mrelax -mpass-mrelax-to-as
      -mrecip  -mrecip=opt -mfrecipe -mno-frecipe -mdiv32 -mno-div32
      -mlam-bh -mno-lam-bh -mlamcas -mno-lamcas -mld-seq-sa -mno-ld-seq-sa
      -mtls-dialect=opt

  M32R/D Options

      -m32r2  -m32rx  -m32r
      -mdebug
      -malign-loops  -mno-align-loops
      -missue-rate=number
      -mbranch-cost=number
      -mmodel=code-size-model-type
      -msdata=sdata-type
      -mno-flush-func  -mflush-func=name
      -mno-flush-trap  -mflush-trap=number
      -G num

  M32C Options

      -mcpu=cpu  -msim  -memregs=number

  M680x0 Options

      -march=arch  -mcpu=cpu  -mtune=tune
      -m68000  -m68020  -m68020-40  -m68020-60  -m68030  -m68040
      -m68060  -mcpu32  -m5200  -m5206e  -m528x  -m5307  -m5407
      -mcfv4e  -mbitfield  -mno-bitfield  -mc68000  -mc68020
      -mnobitfield  -mrtd  -mno-rtd  -mdiv  -mno-div  -mshort
      -mno-short  -mhard-float  -m68881  -msoft-float  -mpcrel
      -malign-int  -mstrict-align  -msep-data  -mno-sep-data
      -mshared-library-id=n  -mid-shared-library  -mno-id-shared-library
      -mxgot  -mno-xgot  -mlong-jump-table-offsets

  MCore Options

      -mhardlit  -mno-hardlit  -mdiv  -mno-div  -mrelax-immediates
      -mno-relax-immediates  -mwide-bitfields  -mno-wide-bitfields
      -m4byte-functions  -mno-4byte-functions  -mcallgraph-data
      -mno-callgraph-data  -mslow-bytes  -mno-slow-bytes  -mno-lsim
      -mlittle-endian  -mbig-endian  -m210  -m340  -mstack-increment

  MicroBlaze Options

      -msoft-float  -mhard-float  -msmall-divides  -mcpu=cpu
      -mmemcpy  -mxl-soft-mul  -mxl-soft-div  -mxl-barrel-shift
      -mxl-pattern-compare  -mxl-stack-check  -mxl-gp-opt  -mno-clearbss
      -mxl-multiply-high  -mxl-float-convert  -mxl-float-sqrt
      -mbig-endian  -mlittle-endian  -mxl-reorder  -mxl-mode-app-model
      -mpic-data-is-text-relative

  MIPS Options

      -EL  -EB  -march=arch  -mtune=arch
      -mips1  -mips2  -mips3  -mips4  -mips32  -mips32r2  -mips32r3  -mips32r5
      -mips32r6  -mips64  -mips64r2  -mips64r3  -mips64r5  -mips64r6
      -mips16  -mno-mips16  -mflip-mips16
      -minterlink-compressed  -mno-interlink-compressed
      -minterlink-mips16  -mno-interlink-mips16
      -mabi=abi  -mabicalls  -mno-abicalls
      -mshared  -mno-shared  -mplt  -mno-plt  -mxgot  -mno-xgot
      -mgp32  -mgp64  -mfp32  -mfpxx  -mfp64  -mhard-float  -msoft-float
      -mno-float  -msingle-float  -mdouble-float
      -modd-spreg  -mno-odd-spreg
      -mabs=mode  -mnan=encoding
      -mdsp  -mno-dsp  -mdspr2  -mno-dspr2
      -mmcu  -mmno-mcu
      -meva  -mno-eva
      -mvirt  -mno-virt
      -mxpa  -mno-xpa
      -mcrc  -mno-crc
      -mginv  -mno-ginv
      -mmicromips  -mno-micromips
      -mmsa  -mno-msa
      -mloongson-mmi  -mno-loongson-mmi
      -mloongson-ext  -mno-loongson-ext
      -mloongson-ext2  -mno-loongson-ext2
      -mfpu=fpu-type
      -msmartmips  -mno-smartmips
      -mpaired-single  -mno-paired-single  -mdmx  -mno-mdmx
      -mips3d  -mno-mips3d  -mmt  -mno-mt  -mllsc  -mno-llsc
      -mlong64  -mlong32  -msym32  -mno-sym32
      -Gnum  -mlocal-sdata  -mno-local-sdata
      -mextern-sdata  -mno-extern-sdata  -mgpopt  -mno-gopt
      -membedded-data  -mno-embedded-data
      -muninit-const-in-rodata  -mno-uninit-const-in-rodata
      -mcode-readable=setting
      -msplit-addresses  -mno-split-addresses
      -mexplicit-relocs  -mno-explicit-relocs
      -mexplicit-relocs=release
      -mcheck-zero-division  -mno-check-zero-division
      -mdivide-traps  -mdivide-breaks
      -mload-store-pairs  -mno-load-store-pairs
      -mstrict-align  -mno-strict-align
      -mno-unaligned-access  -munaligned-access
      -mmemcpy  -mno-memcpy  -mlong-calls  -mno-long-calls
      -mmad  -mno-mad  -mimadd  -mno-imadd  -mfused-madd  -mno-fused-madd  -nocpp
      -mfix-24k  -mno-fix-24k
      -mfix-r4000  -mno-fix-r4000  -mfix-r4400  -mno-fix-r4400
      -mfix-r5900  -mno-fix-r5900
      -mfix-r10000  -mno-fix-r10000  -mfix-rm7000  -mno-fix-rm7000
      -mfix-vr4120  -mno-fix-vr4120
      -mfix-vr4130  -mno-fix-vr4130  -mfix-sb1  -mno-fix-sb1
      -mflush-func=func  -mno-flush-func
      -mbranch-cost=num  -mbranch-likely  -mno-branch-likely
      -mcompact-branches=policy
      -mfp-exceptions  -mno-fp-exceptions
      -mvr4130-align  -mno-vr4130-align  -msynci  -mno-synci
      -mlxc1-sxc1  -mno-lxc1-sxc1  -mmadd4  -mno-madd4
      -mrelax-pic-calls  -mno-relax-pic-calls  -mmcount-ra-address
      -mframe-header-opt  -mno-frame-header-opt

  MMIX Options

      -mlibfuncs  -mno-libfuncs  -mepsilon  -mno-epsilon  -mabi=gnu
      -mabi=mmixware  -mzero-extend  -mknuthdiv  -mtoplevel-symbols
      -melf  -mbranch-predict  -mno-branch-predict  -mbase-addresses
      -mno-base-addresses  -msingle-exit  -mno-single-exit

  MN10300 Options

      -mmult-bug  -mno-mult-bug
      -mno-am33  -mam33  -mam33-2  -mam34
      -mtune=cpu-type
      -mreturn-pointer-on-d0
      -mno-crt0  -mrelax  -mliw  -msetlb

  Moxie Options

      -meb  -mel  -mmul.x  -mno-crt0

  MSP430 Options

      -msim  -masm-hex  -mmcu=  -mcpu=  -mlarge  -msmall  -mrelax
      -mwarn-mcu
      -mcode-region=  -mdata-region=
      -msilicon-errata=  -msilicon-errata-warn=
      -mhwmult=  -minrt  -mtiny-printf  -mmax-inline-shift=

  NDS32 Options

      -mbig-endian  -mlittle-endian
      -mreduced-regs  -mfull-regs
      -mcmov  -mno-cmov
      -mext-perf  -mno-ext-perf
      -mext-perf2  -mno-ext-perf2
      -mext-string  -mno-ext-string
      -mv3push  -mno-v3push
      -m16bit  -mno-16bit
      -misr-vector-size=num
      -mcache-block-size=num
      -march=arch
      -mcmodel=code-model
      -mctor-dtor  -mrelax

  Nios II Options

      -G num  -mgpopt=option  -mgpopt  -mno-gpopt
      -mgprel-sec=regexp  -mr0rel-sec=regexp
      -mel  -meb
      -mno-bypass-cache  -mbypass-cache
      -mno-cache-volatile  -mcache-volatile
      -mno-fast-sw-div  -mfast-sw-div
      -mhw-mul  -mno-hw-mul  -mhw-mulx  -mno-hw-mulx  -mno-hw-div  -mhw-div
      -mcustom-insn=N  -mno-custom-insn
      -mcustom-fpu-cfg=name
      -mhal  -msmallc  -msys-crt0=name  -msys-lib=name
      -march=arch  -mbmx  -mno-bmx  -mcdx  -mno-cdx

  Nvidia PTX Options

      -m64  -mmainkernel  -moptimize

  OpenRISC Options

      -mboard=name  -mnewlib  -mhard-mul  -mhard-div
      -msoft-mul  -msoft-div
      -msoft-float  -mhard-float  -mdouble-float -munordered-float
      -mcmov  -mror  -mrori  -msext  -msfimm  -mshftimm
      -mcmodel=code-model

  PDP-11 Options

      -mfpu  -msoft-float  -mac0  -mno-ac0  -m40  -m45  -m10
      -mint32  -mno-int16  -mint16  -mno-int32
      -msplit  -munix-asm  -mdec-asm  -mgnu-asm  -mlra

  PowerPC Options See RS/6000 and PowerPC Options.

  PRU Options

      -mmcu=mcu  -minrt  -mno-relax  -mloop
      -mabi=variant

  RISC-V Options

      -mbranch-cost=N-instruction
      -mplt  -mno-plt
      -mabi=ABI-string
      -mfdiv  -mno-fdiv
      -mdiv  -mno-div
      -misa-spec=ISA-spec-string
      -march=ISA-string
      -mtune=processor-string
      -mpreferred-stack-boundary=num
      -msmall-data-limit=N-bytes
      -msave-restore  -mno-save-restore
      -mshorten-memrefs  -mno-shorten-memrefs
      -mstrict-align  -mno-strict-align
      -mcmodel=medlow  -mcmodel=medany
      -mexplicit-relocs  -mno-explicit-relocs
      -mrelax  -mno-relax
      -mriscv-attribute  -mno-riscv-attribute
      -malign-data=type
      -mbig-endian  -mlittle-endian
      -mstack-protector-guard=guard  -mstack-protector-guard-reg=reg
      -mstack-protector-guard-offset=offset
      -mcsr-check -mno-csr-check
      -mmovcc  -mno-movcc
      -minline-atomics  -mno-inline-atomics
      -minline-strlen  -mno-inline-strlen
      -minline-strcmp  -mno-inline-strcmp
      -minline-strncmp  -mno-inline-strncmp
      -mtls-dialect=desc  -mtls-dialect=trad

  RL78 Options

      -msim  -mmul=none  -mmul=g13  -mmul=g14  -mallregs
      -mcpu=g10  -mcpu=g13  -mcpu=g14  -mg10  -mg13  -mg14
      -m64bit-doubles  -m32bit-doubles  -msave-mduc-in-interrupts

  RS/6000 and PowerPC Options

      -mcpu=cpu-type
      -mtune=cpu-type
      -mcmodel=code-model
      -mpowerpc64
      -maltivec  -mno-altivec
      -mpowerpc-gpopt  -mno-powerpc-gpopt
      -mpowerpc-gfxopt  -mno-powerpc-gfxopt
      -mmfcrf  -mno-mfcrf  -mpopcntb  -mno-popcntb  -mpopcntd  -mno-popcntd
      -mfprnd  -mno-fprnd
      -mcmpb  -mno-cmpb  -mhard-dfp  -mno-hard-dfp
      -mfull-toc   -mminimal-toc  -mno-fp-in-toc  -mno-sum-in-toc
      -m64  -m32  -mxl-compat  -mno-xl-compat  -mpe
      -malign-power  -malign-natural
      -msoft-float  -mhard-float  -mmultiple  -mno-multiple
      -mupdate  -mno-update
      -mavoid-indexed-addresses  -mno-avoid-indexed-addresses
      -mfused-madd  -mno-fused-madd  -mbit-align  -mno-bit-align
      -mstrict-align  -mno-strict-align  -mrelocatable
      -mno-relocatable  -mrelocatable-lib  -mno-relocatable-lib
      -mtoc  -mno-toc  -mlittle  -mlittle-endian  -mbig  -mbig-endian
      -mdynamic-no-pic  -mswdiv  -msingle-pic-base
      -mprioritize-restricted-insns=priority
      -msched-costly-dep=dependence_type
      -minsert-sched-nops=scheme
      -mcall-aixdesc  -mcall-eabi  -mcall-freebsd
      -mcall-linux  -mcall-netbsd  -mcall-openbsd
      -mcall-sysv  -mcall-sysv-eabi  -mcall-sysv-noeabi
      -mtraceback=traceback_type
      -maix-struct-return  -msvr4-struct-return
      -mabi=abi-type  -msecure-plt  -mbss-plt
      -mlongcall  -mno-longcall  -mpltseq  -mno-pltseq
      -mblock-move-inline-limit=num
      -mblock-compare-inline-limit=num
      -mblock-compare-inline-loop-limit=num
      -mno-block-ops-unaligned-vsx
      -mstring-compare-inline-limit=num
      -misel  -mno-isel
      -mvrsave  -mno-vrsave
      -mmulhw  -mno-mulhw
      -mdlmzb  -mno-dlmzb
      -mprototype  -mno-prototype
      -msim  -mmvme  -mads  -myellowknife  -memb  -msdata
      -msdata=opt  -mreadonly-in-sdata  -mvxworks  -G num
      -mrecip  -mrecip=opt  -mno-recip  -mrecip-precision
      -mno-recip-precision
      -mveclibabi=type  -mfriz  -mno-friz
      -mpointers-to-nested-functions  -mno-pointers-to-nested-functions
      -msave-toc-indirect  -mno-save-toc-indirect
      -mpower8-fusion  -mno-mpower8-fusion
      -mcrypto  -mno-crypto  -mhtm  -mno-htm
      -mquad-memory  -mno-quad-memory
      -mquad-memory-atomic  -mno-quad-memory-atomic
      -mcompat-align-parm  -mno-compat-align-parm
      -mfloat128  -mno-float128  -mfloat128-hardware  -mno-float128-hardware
      -mgnu-attribute  -mno-gnu-attribute
      -mstack-protector-guard=guard -mstack-protector-guard-reg=reg
      -mstack-protector-guard-offset=offset -mprefixed -mno-prefixed
      -mpcrel -mno-pcrel -mmma -mno-mmma -mrop-protect -mno-rop-protect
      -mprivileged -mno-privileged

  RX Options

      -m64bit-doubles  -m32bit-doubles  -fpu  -nofpu
      -mcpu=
      -mbig-endian-data  -mlittle-endian-data
      -msmall-data
      -msim  -mno-sim
      -mas100-syntax  -mno-as100-syntax
      -mrelax
      -mmax-constant-size=
      -mint-register=
      -mpid
      -mallow-string-insns  -mno-allow-string-insns
      -mjsr
      -mno-warn-multiple-fast-interrupts
      -msave-acc-in-interrupts

  S/390 and zSeries Options

      -mtune=cpu-type  -march=cpu-type
      -mhard-float  -msoft-float  -mhard-dfp  -mno-hard-dfp
      -mlong-double-64  -mlong-double-128
      -mbackchain  -mno-backchain  -mpacked-stack  -mno-packed-stack
      -msmall-exec  -mno-small-exec  -mmvcle  -mno-mvcle
      -m64  -m31  -mdebug  -mno-debug  -mesa  -mzarch
      -mhtm  -mvx  -mzvector
      -mtpf-trace  -mno-tpf-trace  -mtpf-trace-skip  -mno-tpf-trace-skip
      -mfused-madd  -mno-fused-madd
      -mwarn-framesize  -mwarn-dynamicstack  -mstack-size  -mstack-guard
      -mhotpatch=halfwords,halfwords

  SH Options

      -m1  -m2  -m2e
      -m2a-nofpu  -m2a-single-only  -m2a-single  -m2a
      -m3  -m3e
      -m4-nofpu  -m4-single-only  -m4-single  -m4
      -m4a-nofpu  -m4a-single-only  -m4a-single  -m4a  -m4al
      -mb  -ml  -mdalign  -mrelax
      -mbigtable  -mfmovd  -mrenesas  -mno-renesas  -mnomacsave
      -mieee  -mno-ieee  -mbitops  -misize  -minline-ic_invalidate  -mpadstruct
      -mprefergot  -musermode  -multcost=number  -mdiv=strategy
      -mdivsi3_libfunc=name  -mfixed-range=register-range
      -maccumulate-outgoing-args
      -matomic-model=atomic-model
      -mbranch-cost=num  -mzdcbranch  -mno-zdcbranch
      -mcbranch-force-delay-slot
      -mfused-madd  -mno-fused-madd  -mfsca  -mno-fsca  -mfsrra  -mno-fsrra
      -mpretend-cmove  -mtas

  Solaris 2 Options

      -mclear-hwcap  -mno-clear-hwcap  -mimpure-text  -mno-impure-text
      -pthreads

  SPARC Options

      -mcpu=cpu-type
      -mtune=cpu-type
      -mcmodel=code-model
      -mmemory-model=mem-model
      -m32  -m64  -mapp-regs  -mno-app-regs
      -mfaster-structs  -mno-faster-structs  -mflat  -mno-flat
      -mfpu  -mno-fpu  -mhard-float  -msoft-float
      -mhard-quad-float  -msoft-quad-float
      -mstack-bias  -mno-stack-bias
      -mstd-struct-return  -mno-std-struct-return
      -munaligned-doubles  -mno-unaligned-doubles
      -muser-mode  -mno-user-mode
      -mv8plus  -mno-v8plus  -mvis  -mno-vis
      -mvis2  -mno-vis2  -mvis3  -mno-vis3
      -mvis4  -mno-vis4  -mvis4b  -mno-vis4b
      -mcbcond  -mno-cbcond  -mfmaf  -mno-fmaf  -mfsmuld  -mno-fsmuld
      -mpopc  -mno-popc  -msubxc  -mno-subxc
      -mfix-at697f  -mfix-ut699  -mfix-ut700  -mfix-gr712rc
      -mlra  -mno-lra

  System V Options

      -Qy  -Qn  -YP,paths  -Ym,dir

  V850 Options

      -mlong-calls  -mno-long-calls  -mep  -mno-ep
      -mprolog-function  -mno-prolog-function  -mspace
      -mtda=n  -msda=n  -mzda=n
      -mapp-regs  -mno-app-regs
      -mdisable-callt  -mno-disable-callt
      -mv850e2v3  -mv850e2  -mv850e1  -mv850es
      -mv850e  -mv850  -mv850e3v5
      -mloop
      -mrelax
      -mlong-jumps
      -msoft-float
      -mhard-float
      -mgcc-abi
      -mrh850-abi
      -mbig-switch

  VAX Options

      -mg  -mgnu  -munix  -mlra

  Visium Options

      -mdebug  -msim  -mfpu  -mno-fpu  -mhard-float  -msoft-float
      -mcpu=cpu-type  -mtune=cpu-type  -msv-mode  -muser-mode

  VMS Options

      -mvms-return-codes  -mdebug-main=prefix  -mmalloc64
      -mpointer-size=size

  VxWorks Options

      -mrtp  -msmp  -non-static  -Bstatic  -Bdynamic
      -Xbind-lazy  -Xbind-now

  x86 Options

      -mtune=cpu-type  -march=cpu-type
      -mtune-ctrl=feature-list  -mdump-tune-features  -mno-default
      -mfpmath=unit
      -masm=dialect  -mno-fancy-math-387
      -mno-fp-ret-in-387  -m80387  -mhard-float  -msoft-float
      -mno-wide-multiply  -mrtd  -malign-double
      -mpreferred-stack-boundary=num
      -mincoming-stack-boundary=num
      -mcld  -mcx16  -msahf  -mmovbe  -mcrc32 -mmwait
      -mrecip  -mrecip=opt
      -mvzeroupper  -mprefer-avx128  -mprefer-vector-width=opt
      -mpartial-vector-fp-math
      -mmove-max=bits -mstore-max=bits
      -mnoreturn-no-callee-saved-registers
      -mmmx  -msse  -msse2  -msse3  -mssse3  -msse4.1  -msse4.2  -msse4  -mavx
      -mavx2  -mavx512f  -mavx512pf  -mavx512er  -mavx512cd  -mavx512vl
      -mavx512bw  -mavx512dq  -mavx512ifma  -mavx512vbmi  -msha  -maes
      -mpclmul  -mfsgsbase  -mrdrnd  -mf16c  -mfma  -mpconfig  -mwbnoinvd
      -mptwrite  -mprefetchwt1  -mclflushopt  -mclwb  -mxsavec  -mxsaves
      -msse4a  -m3dnow  -m3dnowa  -mpopcnt  -mabm  -mbmi  -mtbm  -mfma4  -mxop
      -madx  -mlzcnt  -mbmi2  -mfxsr  -mxsave  -mxsaveopt  -mrtm  -mhle  -mlwp
      -mmwaitx  -mclzero  -mpku  -mthreads  -mgfni  -mvaes  -mwaitpkg
      -mshstk -mmanual-endbr -mcet-switch -mforce-indirect-call
      -mavx512vbmi2 -mavx512bf16 -menqcmd
      -mvpclmulqdq  -mavx512bitalg  -mmovdiri  -mmovdir64b  -mavx512vpopcntdq
      -mavx5124fmaps  -mavx512vnni  -mavx5124vnniw  -mprfchw  -mrdpid
      -mrdseed  -msgx -mavx512vp2intersect -mserialize -mtsxldtrk
      -mamx-tile  -mamx-int8  -mamx-bf16 -muintr -mhreset -mavxvnni
      -mavx512fp16 -mavxifma -mavxvnniint8 -mavxneconvert -mcmpccxadd -mamx-fp16
      -mprefetchi -mraoint -mamx-complex -mavxvnniint16 -msm3 -msha512 -msm4 -mapxf
      -musermsr -mavx10.1 -mavx10.1-256 -mavx10.1-512 -mevex512
      -mcldemote  -mms-bitfields  -mno-align-stringops  -minline-all-stringops
      -minline-stringops-dynamically  -mstringop-strategy=alg
      -mkl -mwidekl
      -mmemcpy-strategy=strategy  -mmemset-strategy=strategy
      -mpush-args  -maccumulate-outgoing-args  -m128bit-long-double
      -m96bit-long-double  -mlong-double-64  -mlong-double-80  -mlong-double-128
      -mregparm=num  -msseregparm
      -mveclibabi=type  -mvect8-ret-in-mem
      -mpc32  -mpc64  -mpc80  -mdaz-ftz -mstackrealign
      -momit-leaf-frame-pointer  -mno-red-zone  -mno-tls-direct-seg-refs
      -mcmodel=code-model  -mabi=name  -maddress-mode=mode
      -m32  -m64  -mx32  -m16  -miamcu  -mlarge-data-threshold=num
      -msse2avx  -mfentry  -mrecord-mcount  -mnop-mcount  -m8bit-idiv
      -minstrument-return=type -mfentry-name=name -mfentry-section=name
      -mavx256-split-unaligned-load  -mavx256-split-unaligned-store
      -malign-data=type  -mstack-protector-guard=guard
      -mstack-protector-guard-reg=reg
      -mstack-protector-guard-offset=offset
      -mstack-protector-guard-symbol=symbol
      -mgeneral-regs-only  -mcall-ms2sysv-xlogues -mrelax-cmpxchg-loop
      -mindirect-branch=choice  -mfunction-return=choice
      -mindirect-branch-register -mharden-sls=choice
      -mindirect-branch-cs-prefix -mneeded -mno-direct-extern-access
      -munroll-only-small-loops -mlam=choice

  x86 Windows Options

      -mconsole  -mcrtdll=library  -mdll
      -mnop-fun-dllimport  -mthread
      -municode  -mwin32  -mwindows  -fno-set-stack-executable

  Xstormy16 Options

      -msim

  Xtensa Options

      -mconst16  -mno-const16
      -mfused-madd  -mno-fused-madd
      -mforce-no-pic
      -mserialize-volatile  -mno-serialize-volatile
      -mtext-section-literals  -mno-text-section-literals
      -mauto-litpools  -mno-auto-litpools
      -mtarget-align  -mno-target-align
      -mlongcalls  -mno-longcalls
      -mabi=abi-type
      -mextra-l32r-costs=cycles
      -mstrict-align  -mno-strict-align

  zSeries Options See S/390 and zSeries Options.

Next: Overall Options, Up: Invoking GCC [Contents][Index]