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

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-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-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] 
          -fmem-report  -fpretend-float 
          -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  
          -fbounds-check 
          -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-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 -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 
          -fno-sched-interblock  -fno-sched-spec 
          -fsched-spec-load  -fsched-spec-load-dangerous 
          -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 -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  -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  -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