Next: Overall Options, Up: Invoking GCC

### 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  -no-canonical-prefixes
                -pipe  -pass-exit-codes
                -x language  -v  -###  --help[=class[,...]]  --target-help
                --version -wrapper @file -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  -fgnu89-inline
                -aux-info filename -fallow-parameterless-variadic-functions
                -fno-asm  -fno-builtin  -fno-builtin-function
                -fhosted  -ffreestanding -fopenmp -fopenmp-simd -fms-extensions
                -fplan9-extensions -trigraphs  -traditional  -traditional-cpp
                -fallow-single-precision  -fcond-mismatch -flax-vector-conversions
                -fsigned-bitfields  -fsigned-char
                -funsigned-bitfields  -funsigned-char

C++ Language Options
  See Options Controlling C++ Dialect.

                -fabi-version=n  -fno-access-control  -fcheck-new
                -fconstexpr-depth=n  -ffriend-injection
                -fno-elide-constructors
                -fno-enforce-eh-specs
                -ffor-scope  -fno-for-scope  -fno-gnu-keywords
                -fno-implicit-templates
                -fno-implicit-inline-templates
                -fno-implement-inlines  -fms-extensions
                -fno-nonansi-builtins  -fnothrow-opt  -fno-operator-names
                -fno-optional-diags  -fpermissive
                -fno-pretty-templates
                -frepo  -fno-rtti  -fstats  -ftemplate-backtrace-limit=n
                -ftemplate-depth=n
                -fno-threadsafe-statics -fuse-cxa-atexit  -fno-weak  -nostdinc++
                -fvisibility-inlines-hidden
                -fvtable-verify=std|preinit|none
                -fvtv-counts -fvtv-debug
                -fvisibility-ms-compat
                -fext-numeric-literals
                -Wabi  -Wconversion-null  -Wctor-dtor-privacy
                -Wdelete-non-virtual-dtor -Wliteral-suffix -Wnarrowing
                -Wnoexcept -Wnon-virtual-dtor  -Wreorder
                -Weffc++  -Wstrict-null-sentinel
                -Wno-non-template-friend  -Wold-style-cast
                -Woverloaded-virtual  -Wno-pmf-conversions
                -Wsign-promo

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
                -freplace-objc-classes
                -fzero-link
                -gen-decls
                -Wassign-intercept
                -Wno-protocol  -Wselector
                -Wstrict-selector-match
                -Wundeclared-selector

Language Independent Options
  See Options to Control Diagnostic Messages Formatting.

                -fmessage-length=n
                -fdiagnostics-show-location=[once|every-line]
                -fdiagnostics-color=[auto|never|always]
                -fno-diagnostics-show-option -fno-diagnostics-show-caret

Warning Options
  See Options to Request or Suppress Warnings.

                -fsyntax-only  -fmax-errors=n  -Wpedantic
                -pedantic-errors
                -w  -Wextra  -Wall  -Waddress  -Waggregate-return
                -Waggressive-loop-optimizations -Warray-bounds
                -Wno-attributes -Wno-builtin-macro-redefined
                -Wc++-compat -Wc++11-compat -Wcast-align  -Wcast-qual
                -Wchar-subscripts -Wclobbered  -Wcomment -Wconditionally-supported
                -Wconversion -Wcoverage-mismatch -Wdate-time -Wdelete-incomplete -Wno-cpp
                -Wno-deprecated -Wno-deprecated-declarations -Wdisabled-optimization
                -Wno-div-by-zero -Wdouble-promotion -Wempty-body  -Wenum-compare
                -Wno-endif-labels -Werror  -Werror=*
                -Wfatal-errors  -Wfloat-equal  -Wformat  -Wformat=2
                -Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral
                -Wformat-security  -Wformat-y2k
                -Wframe-larger-than=len -Wno-free-nonheap-object -Wjump-misses-init
                -Wignored-qualifiers
                -Wimplicit  -Wimplicit-function-declaration  -Wimplicit-int
                -Winit-self  -Winline -Wmaybe-uninitialized
                -Wno-int-to-pointer-cast -Wno-invalid-offsetof
                -Winvalid-pch -Wlarger-than=len  -Wunsafe-loop-optimizations
                -Wlogical-op -Wlong-long
                -Wmain -Wmaybe-uninitialized -Wmissing-braces  -Wmissing-field-initializers
                -Wmissing-include-dirs
                -Wno-multichar  -Wnonnull  -Wno-overflow -Wopenmp-simd
                -Woverlength-strings  -Wpacked  -Wpacked-bitfield-compat  -Wpadded
                -Wparentheses  -Wpedantic-ms-format -Wno-pedantic-ms-format
                -Wpointer-arith  -Wno-pointer-to-int-cast
                -Wredundant-decls  -Wno-return-local-addr
                -Wreturn-type  -Wsequence-point  -Wshadow
                -Wsign-compare  -Wsign-conversion -Wfloat-conversion
                -Wsizeof-pointer-memaccess
                -Wstack-protector -Wstack-usage=len -Wstrict-aliasing
                -Wstrict-aliasing=n  -Wstrict-overflow -Wstrict-overflow=n
                -Wsuggest-attribute=[pure|const|noreturn|format]
                -Wmissing-format-attribute
                -Wswitch  -Wswitch-default  -Wswitch-enum -Wsync-nand
                -Wsystem-headers  -Wtrampolines  -Wtrigraphs  -Wtype-limits  -Wundef
                -Wuninitialized  -Wunknown-pragmas  -Wno-pragmas
                -Wunsuffixed-float-constants  -Wunused  -Wunused-function
                -Wunused-label  -Wunused-local-typedefs -Wunused-parameter
                -Wno-unused-result -Wunused-value  -Wunused-variable
                -Wunused-but-set-parameter -Wunused-but-set-variable
                -Wuseless-cast -Wvariadic-macros -Wvector-operation-performance
                -Wvla -Wvolatile-register-var  -Wwrite-strings -Wzero-as-null-pointer-constant

C and Objective-C-only Warning Options

                -Wbad-function-cast  -Wmissing-declarations
                -Wmissing-parameter-type  -Wmissing-prototypes  -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 or GCC.

                -dletters  -dumpspecs  -dumpmachine  -dumpversion
                -fsanitize=style
                -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-noaddr -fdump-unnumbered -fdump-unnumbered-links
                -fdump-translation-unit[-n]
                -fdump-class-hierarchy[-n]
                -fdump-ipa-all -fdump-ipa-cgraph -fdump-ipa-inline
                -fdump-passes
                -fdump-statistics
                -fdump-tree-all
                -fdump-tree-original[-n]
                -fdump-tree-optimized[-n]
                -fdump-tree-cfg -fdump-tree-alias
                -fdump-tree-ch
                -fdump-tree-ssa[-n] -fdump-tree-pre[-n]
                -fdump-tree-ccp[-n] -fdump-tree-dce[-n]
                -fdump-tree-gimple[-raw]
                -fdump-tree-dom[-n]
                -fdump-tree-dse[-n]
                -fdump-tree-phiprop[-n]
                -fdump-tree-phiopt[-n]
                -fdump-tree-forwprop[-n]
                -fdump-tree-copyrename[-n]
                -fdump-tree-nrv -fdump-tree-vect
                -fdump-tree-sink
                -fdump-tree-sra[-n]
                -fdump-tree-forwprop[-n]
                -fdump-tree-fre[-n]
                -fdump-tree-vtable-verify
                -fdump-tree-vrp[-n]
                -fdump-tree-storeccp[-n]
                -fdump-final-insns=file
                -fcompare-debug[=opts]  -fcompare-debug-second
                -feliminate-dwarf2-dups -fno-eliminate-unused-debug-types
                -feliminate-unused-debug-symbols -femit-class-debug-always
                -fenable-kind-pass
                -fenable-kind-pass=range-list
                -fdebug-types-section -fmem-report-wpa
                -fmem-report -fpre-ipa-mem-report -fpost-ipa-mem-report -fprofile-arcs
                -fopt-info
                -fopt-info-options[=file]
                -frandom-seed=string -fsched-verbose=n
                -fsel-sched-verbose -fsel-sched-dump-cfg -fsel-sched-pipelining-verbose
                -fstack-usage  -ftest-coverage  -ftime-report -fvar-tracking
                -fvar-tracking-assignments  -fvar-tracking-assignments-toggle
                -g  -glevel  -gtoggle  -gcoff  -gdwarf-version
                -ggdb  -grecord-gcc-switches  -gno-record-gcc-switches
                -gstabs  -gstabs+  -gstrict-dwarf  -gno-strict-dwarf
                -gvms  -gxcoff  -gxcoff+
                -fno-merge-debug-strings -fno-dwarf2-cfi-asm
                -fdebug-prefix-map=old=new
                -femit-struct-debug-baseonly -femit-struct-debug-reduced
                -femit-struct-debug-detailed[=spec-list]
                -p  -pg  -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]

Optimization Options
  See Options that Control Optimization.

                -faggressive-loop-optimizations -falign-functions[=n]
                -falign-jumps[=n]
                -falign-labels[=n] -falign-loops[=n]
                -fassociative-math -fauto-inc-dec -fbranch-probabilities
                -fbranch-target-load-optimize -fbranch-target-load-optimize2
                -fbtr-bb-exclusive -fcaller-saves
                -fcheck-data-deps -fcombine-stack-adjustments -fconserve-stack
                -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 -fdse
                -fearly-inlining -fipa-sra -fexpensive-optimizations -ffat-lto-objects
                -ffast-math -ffinite-math-only -ffloat-store -fexcess-precision=style
                -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-functions -finline-functions-called-once -finline-limit=n
                -finline-small-functions -fipa-cp -fipa-cp-clone
                -fipa-pta -fipa-profile -fipa-pure-const -fipa-reference
                -fira-algorithm=algorithm
                -fira-region=region -fira-hoist-pressure
                -fira-loop-pressure -fno-ira-share-save-slots
                -fno-ira-share-spill-slots -fira-verbose=n
                -fisolate-erroneous-paths-dereference -fisolate-erroneous-paths-attribute
                -fivopts -fkeep-inline-functions -fkeep-static-consts -flive-range-shrinkage
                -floop-block -floop-interchange -floop-strip-mine -floop-nest-optimize
                -floop-parallelize-all -flto -flto-compression-level
                -flto-partition=alg -flto-report -flto-report-wpa -fmerge-all-constants
                -fmerge-constants -fmodulo-sched -fmodulo-sched-allow-regmoves
                -fmove-loop-invariants -fno-branch-count-reg
                -fno-defer-pop -fno-function-cse -fno-guess-branch-probability
                -fno-inline -fno-math-errno -fno-peephole -fno-peephole2
                -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-report
                -fprofile-correction -fprofile-dir=path -fprofile-generate
                -fprofile-generate=path
                -fprofile-use -fprofile-use=path -fprofile-values -fprofile-reorder-functions
                -freciprocal-math -free -frename-registers -freorder-blocks
                -freorder-blocks-and-partition -freorder-functions
                -frerun-cse-after-loop -freschedule-modulo-scheduled-loops
                -frounding-math -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-insns -fschedule-insns2 -fsection-anchors
                -fselective-scheduling -fselective-scheduling2
                -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops
                -fshrink-wrap -fsignaling-nans -fsingle-precision-constant
                -fsplit-ivs-in-unroller -fsplit-wide-types -fstack-protector
                -fstack-protector-all -fstack-protector-strong -fstrict-aliasing
                -fstrict-overflow -fthread-jumps -ftracer -ftree-bit-ccp
                -ftree-builtin-call-dce -ftree-ccp -ftree-ch
                -ftree-coalesce-inline-vars -ftree-coalesce-vars -ftree-copy-prop
                -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse
                -ftree-forwprop -ftree-fre -ftree-loop-if-convert
                -ftree-loop-if-convert-stores -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-sink -ftree-slsr -ftree-sra
                -ftree-switch-conversion -ftree-tail-merge -ftree-ter
                -ftree-vectorize -ftree-vrp
                -funit-at-a-time -funroll-all-loops -funroll-loops
                -funsafe-loop-optimizations -funsafe-math-optimizations -funswitch-loops
                -fvariable-expansion-in-unroller -fvect-cost-model -fvpt -fweb
                -fwhole-program -fwpa -fuse-ld=linker -fuse-linker-plugin
                --param name=value
                -O  -O0  -O1  -O2  -O3  -Os -Ofast -Og

Preprocessor Options
  See Options Controlling the Preprocessor.

                -Aquestion=answer
                -A-question[=answer]
                -C  -dD  -dI  -dM  -dN
                -Dmacro[=defn]  -E  -H
                -idirafter dir
                -include file  -imacros file
                -iprefix file  -iwithprefix dir
                -iwithprefixbefore dir  -isystem dir
                -imultilib dir -isysroot dir
                -M  -MM  -MF  -MG  -MP  -MQ  -MT  -nostdinc
                -P  -fdebug-cpp -ftrack-macro-expansion -fworking-directory
                -remap -trigraphs  -undef  -Umacro
                -Wp,option -Xpreprocessor option -no-integrated-cpp

Assembler Option
  See Passing Options to the Assembler.

                -Wa,option  -Xassembler option

Linker Options
  See Options for Linking.

                object-file-name  -llibrary
                -nostartfiles  -nodefaultlibs  -nostdlib -pie -rdynamic
                -s  -static -static-libgcc -static-libstdc++
                -static-libasan -static-libtsan -static-liblsan -static-libubsan
                -shared -shared-libgcc  -symbolic
                -T script  -Wl,option  -Xlinker option
                -u symbol

Directory Options
  See Options for Directory Search.

                -Bprefix -Idir -iplugindir=dir
                -iquotedir -Ldir -specs=file -I-
                --sysroot=dir --no-sysroot-suffix

Machine Dependent Options
  See Hardware Models and Configurations.

  AArch64 Options

                -mabi=name  -mbig-endian  -mlittle-endian
                -mgeneral-regs-only
                -mcmodel=tiny  -mcmodel=small  -mcmodel=large
                -mstrict-align
                -momit-leaf-frame-pointer  -mno-omit-leaf-frame-pointer
                -mtls-dialect=desc  -mtls-dialect=traditional
                -march=name  -mcpu=name  -mtune=name

  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

  ARC Options

                -mbarrel-shifter
                -mcpu=cpu -mA6 -mARC600 -mA7 -mARC700
                -mdpfp -mdpfp-compact -mdpfp-fast -mno-dpfp-lrsr
                -mea -mno-mpy -mmul32x16 -mmul64
                -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
                -mepilogue-cfi -mlong-calls -mmedium-calls -msdata
                -mucb-mcount -mvolatile-cache
                -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 -mno-millicode
                -mmixed-code -mq-class -mRcq -mRcw -msize-level=level
                -mtune=cpu -mmultcost=num -munalign-prob-threshold=probability

  ARM Options

                -mapcs-frame  -mno-apcs-frame
                -mabi=name
                -mapcs-stack-check  -mno-apcs-stack-check
                -mapcs-float  -mno-apcs-float
                -mapcs-reentrant  -mno-apcs-reentrant
                -msched-prolog  -mno-sched-prolog
                -mlittle-endian  -mbig-endian  -mwords-little-endian
                -mfloat-abi=name
                -mfp16-format=name
                -mthumb-interwork  -mno-thumb-interwork
                -mcpu=name  -march=name  -mfpu=name
                -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
                -mtpcs-frame  -mtpcs-leaf-frame
                -mcaller-super-interworking  -mcallee-super-interworking
                -mtp=name -mtls-dialect=dialect
                -mword-relocations
                -mfix-cortex-m3-ldrd
                -munaligned-access
                -mneon-for-64bits
                -mslow-flash-data
                -mrestrict-it

  AVR Options

                -mmcu=mcu -maccumulate-args -mbranch-cost=cost
                -mcall-prologues -mint8 -mno-interrupts -mrelax
                -mstrict-X -mtiny-stack -Waddr-space-convert

  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  -melinux-stacksize=n
                -metrax4  -metrax100  -mpdebug  -mcc-init  -mno-side-effects
                -mstack-align  -mdata-align  -mconst-align
                -m32-bit  -m16-bit  -m8-bit  -mno-prologue-epilogue  -mno-gotplt
                -melf  -maout  -melinux  -mlinux  -sim  -sim2
                -mmul-bug-workaround  -mno-mul-bug-workaround

  CR16 Options

                -mmac
                -mcr16cplus -mcr16c
                -msim -mint32 -mbit-ops
                -mdata-model=model

  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
                -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

  FR30 Options

                -msmall-model -mno-lsim

  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 -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
                -mdisable-fpregs  -mdisable-indexing
                -mfast-indirect-calls  -mgas  -mgnu-ld   -mhp-ld
                -mfixed-range=register-range
                -mjump-in-delay -mlinker-opt -mlong-calls
                -mlong-load-store  -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  -msio  -mwsio
                -munix=unix-std  -nolibdld  -static  -threads

  i386 and x86-64 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  -msoft-float
                -mno-wide-multiply  -mrtd  -malign-double
                -mpreferred-stack-boundary=num
                -mincoming-stack-boundary=num
                -mcld -mcx16 -msahf -mmovbe -mcrc32
                -mrecip -mrecip=opt
                -mvzeroupper -mprefer-avx128
                -mmmx  -msse  -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -msse4 -mavx
                -mavx2 -mavx512f -mavx512pf -mavx512er -mavx512cd -msha
                -maes -mpclmul -mfsgsbase -mrdrnd -mf16c -mfma -mprefetchwt1
                -msse4a -m3dnow -mpopcnt -mabm -mbmi -mtbm -mfma4 -mxop -mlzcnt
                -mbmi2 -mfxsr -mxsave -mxsaveopt -mrtm -mlwp -mthreads
                -mno-align-stringops  -minline-all-stringops
                -minline-stringops-dynamically -mstringop-strategy=alg
                -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 -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 -mlarge-data-threshold=num
                -msse2avx -mfentry -m8bit-idiv
                -mavx256-split-unaligned-load -mavx256-split-unaligned-store
                -mstack-protector-guard=guard

  i386 and x86-64 Windows Options

                -mconsole -mcygwin -mno-cygwin -mdll
                -mnop-fun-dllimport -mthread
                -municode -mwin32 -mwindows -fno-set-stack-executable

  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

  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

  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

  MeP Options

                -mabsdiff -mall-opts -maverage -mbased=n -mbitops
                -mc=n -mclip -mconfig=name -mcop -mcop32 -mcop64 -mivc2
                -mdc -mdiv -meb -mel -mio-volatile -ml -mleadz -mm -mminmax
                -mmult -mno-opts -mrepeat -ms -msatur -msdram -msim -msimnovec -mtf
                -mtiny=n

  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

  MIPS Options

                -EL  -EB  -march=arch  -mtune=arch
                -mips1  -mips2  -mips3  -mips4  -mips32  -mips32r2
                -mips64  -mips64r2
                -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  -mfp64  -mhard-float  -msoft-float
                -mno-float  -msingle-float  -mdouble-float
                -mabs=mode  -mnan=encoding
                -mdsp  -mno-dsp  -mdspr2  -mno-dspr2
                -mmcu -mmno-mcu
                -meva -mno-eva
                -mvirt -mno-virt
                -mmicromips -mno-micromips
                -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
                -mcheck-zero-division  -mno-check-zero-division
                -mdivide-traps  -mdivide-breaks
                -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-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
                -mfp-exceptions -mno-fp-exceptions
                -mvr4130-align -mno-vr4130-align -msynci -mno-synci
                -mrelax-pic-calls -mno-relax-pic-calls -mmcount-ra-address

  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 -mno-crt0

  MSP430 Options

                -msim -masm-hex -mmcu= -mcpu= -mlarge -msmall -mrelax
                -mhwmult=

  NDS32 Options

                -mbig-endian -mlittle-endian
                -mreduced-regs -mfull-regs
                -mcmov -mno-cmov
                -mperf-ext -mno-perf-ext
                -mv3push -mno-v3push
                -m16bit -mno-16bit
                -mgp-direct -mno-gp-direct
                -misr-vector-size=num
                -mcache-block-size=num
                -march=arch
                -mforce-fp-as-gp -mforbid-fp-as-gp
                -mex9 -mctor-dtor -mrelax

  Nios II Options

                -G num -mgpopt -mno-gpopt -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

  PDP-11 Options

                -mfpu  -msoft-float  -mac0  -mno-ac0  -m40  -m45  -m10
                -mbcopy  -mbcopy-builtin  -mint32  -mno-int16
                -mint16  -mno-int32  -mfloat32  -mno-float64
                -mfloat64  -mno-float32  -mabshi  -mno-abshi
                -mbranch-expensive  -mbranch-cheap
                -munix-asm  -mdec-asm

  picoChip Options

                -mae=ae_type -mvliw-lookahead=N
                -msymbol-as-address -mno-inefficient-warnings

  PowerPC Options See RS/6000 and PowerPC Options.

  RL78 Options

                -msim -mmul=none -mmul=g13 -mmul=rl78

  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 -mmfpgpr -mno-mfpgpr -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
                -msingle-float -mdouble-float -msimple-fpu
                -mstring  -mno-string  -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  -maltivec -mswdiv  -msingle-pic-base
                -mprioritize-restricted-insns=priority
                -msched-costly-dep=dependence_type
                -minsert-sched-nops=scheme
                -mcall-sysv  -mcall-netbsd
                -maix-struct-return  -msvr4-struct-return
                -mabi=abi-type -msecure-plt -mbss-plt
                -mblock-move-inline-limit=num
                -misel -mno-isel
                -misel=yes  -misel=no
                -mspe -mno-spe
                -mspe=yes  -mspe=no
                -mpaired
                -mgen-cell-microcode -mwarn-cell-microcode
                -mvrsave -mno-vrsave
                -mmulhw -mno-mulhw
                -mdlmzb -mno-dlmzb
                -mfloat-gprs=yes  -mfloat-gprs=no -mfloat-gprs=single -mfloat-gprs=double
                -mprototype  -mno-prototype
                -msim  -mmvme  -mads  -myellowknife  -memb  -msdata
                -msdata=opt  -mvxworks  -G num  -pthread
                -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 -mpower8-vector -mno-power8-vector
                -mcrypto -mno-crypto -mdirect-move -mno-direct-move
                -mquad-memory -mno-quad-memory
                -mquad-memory-atomic -mno-quad-memory-atomic
                -mcompat-align-parm -mno-compat-align-parm

  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
                -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
                -mtpf-trace -mno-tpf-trace  -mfused-madd  -mno-fused-madd
                -mwarn-framesize  -mwarn-dynamicstack  -mstack-size -mstack-guard
                -mhotpatch[=halfwords] -mno-hotpatch

  Score Options

                -meb -mel
                -mnhwloop
                -muls
                -mmac
                -mscore5 -mscore5u -mscore7 -mscore7d

  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
                -m5-64media  -m5-64media-nofpu
                -m5-32media  -m5-32media-nofpu
                -m5-compact  -m5-compact-nofpu
                -mb  -ml  -mdalign  -mrelax
                -mbigtable -mfmovd -mhitachi -mrenesas -mno-renesas -mnomacsave
                -mieee -mno-ieee -mbitops  -misize  -minline-ic_invalidate -mpadstruct
                -mspace -mprefergot  -musermode -multcost=number -mdiv=strategy
                -mdivsi3_libfunc=name -mfixed-range=register-range
                -mindexed-addressing -mgettrcost=number -mpt-fixed
                -maccumulate-outgoing-args -minvalid-symbols
                -matomic-model=atomic-model
                -mbranch-cost=num -mzdcbranch -mno-zdcbranch
                -mfused-madd -mno-fused-madd -mfsca -mno-fsca -mfsrra -mno-fsrra
                -mpretend-cmove -mtas

  Solaris 2 Options

                -mimpure-text  -mno-impure-text
                -pthreads -pthread

  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
                -munaligned-doubles  -mno-unaligned-doubles
                -muser-mode  -mno-user-mode
                -mv8plus  -mno-v8plus  -mvis  -mno-vis
                -mvis2  -mno-vis2  -mvis3  -mno-vis3
                -mcbcond -mno-cbcond
                -mfmaf  -mno-fmaf  -mpopc  -mno-popc
                -mfix-at697f -mfix-ut699

  SPU Options

                -mwarn-reloc -merror-reloc
                -msafe-dma -munsafe-dma
                -mbranch-hints
                -msmall-mem -mlarge-mem -mstdmain
                -mfixed-range=register-range
                -mea32 -mea64
                -maddress-space-conversion -mno-address-space-conversion
                -mcache-size=cache-size
                -matomic-updates -mno-atomic-updates

  System V Options

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

  TILE-Gx Options

                -mcpu=CPU -m32 -m64 -mbig-endian -mlittle-endian
                -mcmodel=code-model

  TILEPro Options

                -mcpu=cpu -m32

  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

  VMS Options

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

  VxWorks Options

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

  x86-64 Options See i386 and x86-64 Options.

  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
                -mtarget-align  -mno-target-align
                -mlongcalls  -mno-longcalls

  zSeries Options See S/390 and zSeries Options.

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  -finstrument-functions
                -finstrument-functions-exclude-function-list=sym,sym,...
                -finstrument-functions-exclude-file-list=file,file,...
                -fno-common  -fno-ident
                -fpcc-struct-return  -fpic  -fPIC -fpie -fPIE
                -fno-jump-tables
                -frecord-gcc-switches
                -freg-struct-return  -fshort-enums
                -fshort-double  -fshort-wchar
                -fverbose-asm  -fpack-struct[=n]  -fstack-check
                -fstack-limit-register=reg  -fstack-limit-symbol=sym
                -fno-stack-limit -fsplit-stack
                -fleading-underscore  -ftls-model=model
                -fstack-reuse=reuse_level
                -ftrapv  -fwrapv  -fbounds-check
                -fvisibility -fstrict-volatile-bitfields -fsync-libcalls