Node:Option Summary, Next:, 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  -###  --target-help  --help

C Language Options
See Options Controlling C Dialect.
-ansi  -std=standard  -aux-info filename 
-fno-asm  -fno-builtin -fno-builtin-function 
-fhosted  -ffreestanding 
-trigraphs  -no-integrated-cpp  -traditional  -traditional-cpp 
-fallow-single-precision  -fcond-mismatch 
-fsigned-bitfields  -fsigned-char 
-funsigned-bitfields  -funsigned-char 
-fwritable-strings  -fshort-wchar

C++ Language Options
See Options Controlling C++ Dialect.
-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  -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

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  -Wdiv-by-zero  -Werror 
-Wfloat-equal  -Wformat  -Wformat=2 
-Wformat-nonliteral  -Wformat-security 
-Wimplicit  -Wimplicit-int  
-Wimplicit-function-declaration 
-Werror-implicit-function-declaration 
-Wimport  -Winline 
-Wlarger-than-len  -Wlong-long 
-Wmain  -Wmissing-braces  -Wmissing-declarations 
-Wmissing-format-attribute  -Wmissing-noreturn 
-Wmultichar  -Wno-format-extra-args  -Wno-format-y2k 
-Wno-import  -Wpacked  -Wpadded 
-Wparentheses  -Wpointer-arith  -Wredundant-decls 
-Wreturn-type  -Wsequence-point  -Wshadow 
-Wsign-compare  -Wswitch  -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-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] 
-fmem-report  -fpretend-float 
-fprofile-arcs  -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 
-finline-functions  -finline-limit=n  -fkeep-inline-functions 
-fkeep-static-consts  -fmerge-constants  -fmerge-all-constants 
-fmove-all-movables  -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 -fno-trapping-math 
-fomit-frame-pointer  -foptimize-register-move 
-foptimize-sibling-calls  -fprefetch-loop-arrays 
-freduce-all-givs -fregmove  -frename-registers 
-frerun-cse-after-loop  -frerun-loop-opt 
-fschedule-insns  -fschedule-insns2 
-fsingle-precision-constant  -fssa -fssa-ccp -fssa-dce 
-fstrength-reduce  -fstrict-aliasing  -fthread-jumps  -ftrapv 
-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.
-b machine  -V version

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

Convex Options

-mc1  -mc2  -mc32  -mc34  -mc38 
-margcount  -mnoargcount 
-mlong32  -mlong64 
-mvolatile-cache  -mvolatile-nocache

AMD29K Options

-m29000  -m29050  -mbw  -mnbw  -mdw  -mndw 
-mlarge  -mnormal  -msmall 
-mkernel-registers  -mno-reuse-arg-regs 
-mno-stack-check  -mno-storem-bug 
-mreuse-arg-regs  -msoft-float  -mstack-check 
-mstorem-bug  -muser-registers

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 
-mbsd -mxopen  -mno-symrename 
-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 
-mprototype  -mno-prototype 
-msim  -mmvme  -mads  -myellowknife  -memb -msdata 
-msdata=opt  -mvxworks -G num -pthread

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

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 -msse-math -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
-m32 -m64

HPPA Options

-march=architecture-type 
-mbig-switch  -mdisable-fpregs  -mdisable-indexing 
-mfast-indirect-calls  -mgas  -mjump-in-delay 
-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

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

Clipper Options

-mc300  -mc400

H8/300 Options

-mrelax  -mh  -ms  -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 
-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

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-divide-min-latency 
-minline-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

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