Node:Option Summary, Next:Overall Options, Up:Invoking GCC

### 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  -pipe  -pass-exit-codes
                -x language  -v  -###  --help  --target-help  --version

C Language Options
  See Options Controlling C Dialect.

                -ansi  -std=standard  -aux-info filename
                -fno-asm  -fno-builtin  -fno-builtin-function
                -fhosted  -ffreestanding  -fms-extensions
                -trigraphs  -no-integrated-cpp  -traditional  -traditional-cpp
                -fallow-single-precision  -fcond-mismatch
                -fsigned-bitfields  -fsigned-char
                -funsigned-bitfields  -funsigned-char
                -fwritable-strings

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

                -fabi-version=n  -fno-access-control  -fcheck-new
                -fconserve-space  -fno-const-strings  -fdollars-in-identifiers
                -fno-elide-constructors
                -fno-enforce-eh-specs  -fexternal-templates
                -falt-external-templates
                -ffor-scope  -fno-for-scope  -fno-gnu-keywords
                -fno-implicit-templates
                -fno-implicit-inline-templates
                -fno-implement-inlines  -fms-extensions
                -fno-nonansi-builtins  -fno-operator-names
                -fno-optional-diags  -fpermissive
                -frepo  -fno-rtti  -fstats  -ftemplate-depth-n
                -fuse-cxa-atexit  -fvtable-gc  -fno-weak  -nostdinc++
                -fno-default-inline  -Wabi  -Wctor-dtor-privacy
                -Wnon-virtual-dtor  -Wreorder
                -Weffc++  -Wno-deprecated
                -Wno-non-template-friend  -Wold-style-cast
                -Woverloaded-virtual  -Wno-pmf-conversions
                -Wsign-promo  -Wsynth

Objective-C Language Options
  See Options Controlling Objective-C Dialect.

                -fconstant-string-class=class-name
                -fgnu-runtime  -fnext-runtime  -gen-decls
                -Wno-protocol  -Wselector  -Wundeclared-selector

Language Independent Options
  See Options to Control Diagnostic Messages Formatting.

                -fmessage-length=n
                -fdiagnostics-show-location=[once|every-line]

Warning Options
  See Options to Request or Suppress Warnings.

                -fsyntax-only  -pedantic  -pedantic-errors
                -w  -W  -Wall  -Waggregate-return
                -Wcast-align  -Wcast-qual  -Wchar-subscripts  -Wcomment
                -Wconversion  -Wno-deprecated-declarations
                -Wdisabled-optimization  -Wno-div-by-zero  -Werror
                -Wfloat-equal  -Wformat  -Wformat=2
                -Wformat-nonliteral  -Wformat-security
                -Wimplicit  -Wimplicit-int
                -Wimplicit-function-declaration
                -Werror-implicit-function-declaration
                -Wimport  -Winline  -Wno-endif-labels
                -Wlarger-than-len  -Wlong-long
                -Wmain  -Wmissing-braces
                -Wmissing-format-attribute  -Wmissing-noreturn
                -Wno-multichar  -Wno-format-extra-args  -Wno-format-y2k
                -Wno-import  -Wnonnull  -Wpacked  -Wpadded
                -Wparentheses  -Wpointer-arith  -Wredundant-decls
                -Wreturn-type  -Wsequence-point  -Wshadow
                -Wsign-compare  -Wstrict-aliasing
                -Wswitch  -Wswitch-default  -Wswitch-enum
                -Wsystem-headers  -Wtrigraphs  -Wundef  -Wuninitialized
                -Wunknown-pragmas  -Wunreachable-code
                -Wunused  -Wunused-function  -Wunused-label  -Wunused-parameter
                -Wunused-value  -Wunused-variable  -Wwrite-strings

C-only Warning Options

                -Wbad-function-cast  -Wmissing-declarations
                -Wmissing-prototypes  -Wnested-externs
                -Wstrict-prototypes  -Wtraditional

Debugging Options
  See Options for Debugging Your Program or GCC.

                -dletters  -dumpspecs  -dumpmachine  -dumpversion
                -fdump-unnumbered  -fdump-translation-unit[-n]
                -fdump-class-hierarchy[-n]
                -fdump-tree-original[-n]
                -fdump-tree-optimized[-n]
                -fdump-tree-inlined[-n]
                -feliminate-dwarf2-dups  -fmem-report
                -fprofile-arcs  -fsched-verbose=n
                -ftest-coverage  -ftime-report
                -g  -glevel  -gcoff  -gdwarf  -gdwarf-1  -gdwarf-1+  -gdwarf-2
                -ggdb  -gstabs  -gstabs+  -gvms  -gxcoff  -gxcoff+
                -p  -pg  -print-file-name=library  -print-libgcc-file-name
                -print-multi-directory  -print-multi-lib
                -print-prog-name=program  -print-search-dirs  -Q
                -save-temps  -time

Optimization Options
  See Options that Control Optimization.

                -falign-functions=n  -falign-jumps=n
                -falign-labels=n  -falign-loops=n
                -fbranch-probabilities  -fcaller-saves  -fcprop-registers
                -fcse-follow-jumps  -fcse-skip-blocks  -fdata-sections
                -fdelayed-branch  -fdelete-null-pointer-checks
                -fexpensive-optimizations  -ffast-math  -ffloat-store
                -fforce-addr  -fforce-mem  -ffunction-sections
                -fgcse  -fgcse-lm  -fgcse-sm  -floop-optimize  -fcrossjumping
                -fif-conversion  -fif-conversion2
                -finline-functions  -finline-limit=n  -fkeep-inline-functions
                -fkeep-static-consts  -fmerge-constants  -fmerge-all-constants
                -fmove-all-movables  -fnew-ra  -fno-branch-count-reg
                -fno-default-inline  -fno-defer-pop
                -fno-function-cse  -fno-guess-branch-probability
                -fno-inline  -fno-math-errno  -fno-peephole  -fno-peephole2
                -funsafe-math-optimizations  -ffinite-math-only
                -fno-trapping-math  -fno-zero-initialized-in-bss
                -fomit-frame-pointer  -foptimize-register-move
                -foptimize-sibling-calls  -fprefetch-loop-arrays
                -freduce-all-givs  -fregmove  -frename-registers
                -freorder-blocks  -freorder-functions
                -frerun-cse-after-loop  -frerun-loop-opt
                -fschedule-insns  -fschedule-insns2
                -fno-sched-interblock  -fno-sched-spec  -fsched-spec-load
                -fsched-spec-load-dangerous  -fsignaling-nans
                -fsingle-precision-constant  -fssa  -fssa-ccp  -fssa-dce
                -fstrength-reduce  -fstrict-aliasing  -ftracer  -fthread-jumps
                -funroll-all-loops  -funroll-loops
                --param name=value
                -O  -O0  -O1  -O2  -O3  -Os

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
                -M  -MM  -MF  -MG  -MP  -MQ  -MT  -nostdinc  -P  -remap
                -trigraphs  -undef  -Umacro  -Wp,option

Assembler Option
  See Passing Options to the Assembler.

                -Wa,option

Linker Options
  See Options for Linking.

                object-file-name  -llibrary
                -nostartfiles  -nodefaultlibs  -nostdlib
                -s  -static  -static-libgcc  -shared  -shared-libgcc  -symbolic
                -Wl,option  -Xlinker option
                -u symbol

Directory Options
  See Options for Directory Search.

                -Bprefix  -Idir  -I-  -Ldir  -specs=file

Target Options
  See Target Options.

                -V version  -b machine

Machine Dependent Options
  See Hardware Models and Configurations.

  M680x0 Options

                -m68000  -m68020  -m68020-40  -m68020-60  -m68030  -m68040
                -m68060  -mcpu32  -m5200  -m68881  -mbitfield  -mc68000  -mc68020
                -mfpa  -mnobitfield  -mrtd  -mshort  -msoft-float  -mpcrel
                -malign-int  -mstrict-align

  M68hc1x Options

                -m6811  -m6812  -m68hc11  -m68hc12  -m68hcs12
                -mauto-incdec  -minmax  -mlong-calls  -mshort
                -msoft-reg-count=count

  VAX Options

                -mg  -mgnu  -munix

  SPARC Options

                -mcpu=cpu-type
                -mtune=cpu-type
                -mcmodel=code-model
                -m32  -m64
                -mapp-regs  -mbroken-saverestore  -mcypress
                -mfaster-structs  -mflat
                -mfpu  -mhard-float  -mhard-quad-float
                -mimpure-text  -mlive-g0  -mno-app-regs
                -mno-faster-structs  -mno-flat  -mno-fpu
                -mno-impure-text  -mno-stack-bias  -mno-unaligned-doubles
                -msoft-float  -msoft-quad-float  -msparclite  -mstack-bias
                -msupersparc  -munaligned-doubles  -mv8

  ARM Options

                -mapcs-frame  -mno-apcs-frame
                -mapcs-26  -mapcs-32
                -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
                -malignment-traps  -mno-alignment-traps
                -msoft-float  -mhard-float  -mfpe
                -mthumb-interwork  -mno-thumb-interwork
                -mcpu=name  -march=name  -mfpe=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

  MN10200 Options

                -mrelax

  MN10300 Options

                -mmult-bug  -mno-mult-bug
                -mam33  -mno-am33
                -mno-crt0  -mrelax

  M32R/D Options

                -m32rx  -m32r  -mcode-model=model-type
                -msdata=sdata-type  -G num

  M88K Options

                -m88000  -m88100  -m88110  -mbig-pic
                -mcheck-zero-division  -mhandle-large-shift
                -midentify-revision  -mno-check-zero-division
                -mno-ocs-debug-info  -mno-ocs-frame-position
                -mno-optimize-arg-area  -mno-serialize-volatile
                -mno-underscores  -mocs-debug-info
                -mocs-frame-position  -moptimize-arg-area
                -mserialize-volatile  -mshort-data-num  -msvr3
                -msvr4  -mtrap-large-shift  -muse-div-instruction
                -mversion-03.00  -mwarn-passed-structs

  RS/6000 and PowerPC Options

                -mcpu=cpu-type
                -mtune=cpu-type
                -mpower  -mno-power  -mpower2  -mno-power2
                -mpowerpc  -mpowerpc64  -mno-powerpc
                -maltivec  -mno-altivec
                -mpowerpc-gpopt  -mno-powerpc-gpopt
                -mpowerpc-gfxopt  -mno-powerpc-gfxopt
                -mnew-mnemonics  -mold-mnemonics
                -mfull-toc   -mminimal-toc  -mno-fp-in-toc  -mno-sum-in-toc
                -m64  -m32  -mxl-call  -mno-xl-call  -mpe
                -msoft-float  -mhard-float  -mmultiple  -mno-multiple
                -mstring  -mno-string  -mupdate  -mno-update
                -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
                -mcall-aix  -mcall-sysv  -mcall-netbsd
                -maix-struct-return  -msvr4-struct-return
                -mabi=altivec  -mabi=no-altivec
                -mabi=spe  -mabi=no-spe
                -misel=yes  -misel=no
                -mprototype  -mno-prototype
                -msim  -mmvme  -mads  -myellowknife  -memb  -msdata
                -msdata=opt  -mvxworks  -mwindiss  -G num  -pthread

  Darwin Options

                -all_load -allowable_client -arch -arch_errors_fatal
                -arch_only -bind_at_load -bundle -bundle_loader
                -client_name -compatibility_version -current_version
                -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
                -image_base -init -install_name -keep_private_externs
                -multi_module -multiply_defined -multiply_defined_unused
                -noall_load -nomultidefs -noprebind -noseglinkedit
                -pagezero_size -prebind -prebind_all_twolevel_modules
                -private_bundle -read_only_relocs -sectalign
                -sectobjectsymbols -whyload -seg1addr
                -sectcreate -sectobjectsymbols -sectorder
                -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

  RT Options

                -mcall-lib-mul  -mfp-arg-in-fpregs  -mfp-arg-in-gregs
                -mfull-fp-blocks  -mhc-struct-return  -min-line-mul
                -mminimum-fp-blocks  -mnohc-struct-return

  MIPS Options

                -mabicalls  -march=cpu-type  -mtune=cpu=type
                -mcpu=cpu-type  -membedded-data  -muninit-const-in-rodata
                -membedded-pic  -mfp32  -mfp64  -mfused-madd  -mno-fused-madd
                -mgas  -mgp32  -mgp64
                -mgpopt  -mhalf-pic  -mhard-float  -mint64  -mips1
                -mips2  -mips3  -mips4  -mlong64  -mlong32  -mlong-calls  -mmemcpy
                -mmips-as  -mmips-tfile  -mno-abicalls
                -mno-embedded-data  -mno-uninit-const-in-rodata
                -mno-embedded-pic  -mno-gpopt  -mno-long-calls
                -mno-memcpy  -mno-mips-tfile  -mno-rnames  -mno-stats
                -mrnames  -msoft-float
                -m4650  -msingle-float  -mmad
                -mstats  -EL  -EB  -G num  -nocpp
                -mabi=32  -mabi=n32  -mabi=64  -mabi=eabi
                -mfix7000  -mno-crt0  -mflush-func=func  -mno-flush-func
                -mbranch-likely  -mno-branch-likely

  i386 and x86-64 Options

                -mcpu=cpu-type  -march=cpu-type
                -mfpmath=unit  -masm=dialect  -mno-fancy-math-387
                -mno-fp-ret-in-387  -msoft-float  -msvr3-shlib
                -mno-wide-multiply  -mrtd  -malign-double
                -mpreferred-stack-boundary=num
                -mmmx  -msse  -msse2  -m3dnow
                -mthreads  -mno-align-stringops  -minline-all-stringops
                -mpush-args  -maccumulate-outgoing-args  -m128bit-long-double
                -m96bit-long-double  -mregparm=num  -momit-leaf-frame-pointer
                -mno-red-zone
                -mcmodel=code-model
                -m32  -m64

  HPPA Options

                -march=architecture-type
                -mbig-switch  -mdisable-fpregs  -mdisable-indexing
                -mfast-indirect-calls  -mgas  -mgnu-ld  -mhp-ld
                -mjump-in-delay  -mlinker-opt  -mlong-calls
                -mlong-load-store  -mno-big-switch  -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
                -nolibdld  -static  -threads

  Intel 960 Options

                -mcpu-type  -masm-compat  -mclean-linkage
                -mcode-align  -mcomplex-addr  -mleaf-procedures
                -mic-compat  -mic2.0-compat  -mic3.0-compat
                -mintel-asm  -mno-clean-linkage  -mno-code-align
                -mno-complex-addr  -mno-leaf-procedures
                -mno-old-align  -mno-strict-align  -mno-tail-call
                -mnumerics  -mold-align  -msoft-float  -mstrict-align
                -mtail-call

  DEC Alpha Options

                -mno-fp-regs  -msoft-float  -malpha-as  -mgas
                -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
                -mmemory-latency=time

  DEC Alpha/VMS Options

                -mvms-return-codes

  H8/300 Options

                -mrelax  -mh  -ms  -mn  -mint32  -malign-300

  SH Options

                -m1  -m2  -m3  -m3e
                -m4-nofpu  -m4-single-only  -m4-single  -m4
                -m5-64media  -m5-64media-nofpu
                -m5-32media  -m5-32media-nofpu
                -m5-compact  -m5-compact-nofpu
                -mb  -ml  -mdalign  -mrelax
                -mbigtable  -mfmovd  -mhitachi  -mnomacsave
                -mieee  -misize  -mpadstruct  -mspace
                -mprefergot  -musermode

  System V Options

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

  ARC Options

                -EB  -EL
                -mmangle-cpu  -mcpu=cpu  -mtext=text-section
                -mdata=data-section  -mrodata=readonly-data-section

  TMS320C3x/C4x Options

                -mcpu=cpu  -mbig  -msmall  -mregparm  -mmemparm
                -mfast-fix  -mmpyi  -mbk  -mti  -mdp-isr-reload
                -mrpts=count  -mrptb  -mdb  -mloop-unsigned
                -mparallel-insns  -mparallel-mpy  -mpreserve-float

  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
                -mv850e
                -mv850  -mbig-switch

  NS32K Options

                -m32032  -m32332  -m32532  -m32081  -m32381
                -mmult-add  -mnomult-add  -msoft-float  -mrtd  -mnortd
                -mregparam  -mnoregparam  -msb  -mnosb
                -mbitfield  -mnobitfield  -mhimem  -mnohimem

  AVR Options

                -mmcu=mcu  -msize  -minit-stack=n  -mno-interrupts
                -mcall-prologues  -mno-tablejump  -mtiny-stack

  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

  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

  IA-64 Options

                -mbig-endian  -mlittle-endian  -mgnu-as  -mgnu-ld  -mno-pic
                -mvolatile-asm-stop  -mb-step  -mregister-names  -mno-sdata
                -mconstant-gp  -mauto-pic  -minline-float-divide-min-latency
                -minline-float-divide-max-throughput
                -minline-int-divide-min-latency
                -minline-int-divide-max-throughput  -mno-dwarf2-asm
                -mfixed-range=register-range

  D30V Options

                -mextmem  -mextmemory  -monchip  -mno-asm-optimize
                -masm-optimize  -mbranch-cost=n  -mcond-exec=n

  S/390 and zSeries Options

                -mhard-float  -msoft-float  -mbackchain  -mno-backchain
                -msmall-exec  -mno-small-exec  -mmvcle  -mno-mvcle
                -m64  -m31  -mdebug  -mno-debug

  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

  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
                -msplit  -mno-split  -munix-asm  -mdec-asm

  Xstormy16 Options

                -msim

  Xtensa Options

                -mbig-endian  -mlittle-endian
                -mdensity  -mno-density
                -mmac16  -mno-mac16
                -mmul16  -mno-mul16
                -mmul32  -mno-mul32
                -mnsa  -mno-nsa
                -mminmax  -mno-minmax
                -msext  -mno-sext
                -mbooleans  -mno-booleans
                -mhard-float  -msoft-float
                -mfused-madd  -mno-fused-madd
                -mserialize-volatile  -mno-serialize-volatile
                -mtext-section-literals  -mno-text-section-literals
                -mtarget-align  -mno-target-align
                -mlongcalls  -mno-longcalls

  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  -mlibrary-pic
                -macc-4  -macc-8  -mpack  -mno-pack  -mno-eflags
                -mcond-move  -mno-cond-move -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
                -mcpu=cpu

Code Generation Options
  See Options for Code Generation Conventions.

                -fcall-saved-reg  -fcall-used-reg
                -ffixed-reg  -fexceptions
                -fnon-call-exceptions  -funwind-tables
                -fasynchronous-unwind-tables
                -finhibit-size-directive  -finstrument-functions
                -fno-common  -fno-ident  -fno-gnu-linker
                -fpcc-struct-return  -fpic  -fPIC
                -freg-struct-return  -fshared-data  -fshort-enums
                -fshort-double  -fshort-wchar  -fvolatile
                -fvolatile-global  -fvolatile-static
                -fverbose-asm  -fpack-struct  -fstack-check
                -fstack-limit-register=reg  -fstack-limit-symbol=sym
                -fargument-alias  -fargument-noalias
                -fargument-noalias-global  -fleading-underscore
                -ftls-model=model
                -ftrapv  -fbounds-check