Using and Porting GNU CC - Option Summary

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  -v  -x language 

C Language Options
See Options Controlling C Dialect.
	-ansi  -fallow-single-precision -fcond-mismatch  -fno-asm
	-fno-builtin  -fsigned-bitfields  -fsigned-char 
	-funsigned-bitfields  -funsigned-char  -fwritable-strings
	-traditional  -traditional-cpp  -trigraphs

C++ Language Options
See Options Controlling C++ Dialect.
	-fall-virtual  -fdollars-in-identifiers  -felide-constructors
	-fenum-int-equiv -fexternal-templates  -fhandle-signatures
	-fmemoize-lookups  -fno-default-inline -fno-gnu-keywords
	-fnonnull-objects  -foperator-names  -fstrict-prototype
	-fthis-is-variable -nostdinc++ -traditional  +en

Warning Options
See Options to Request or Suppress Warnings.
	-fsyntax-only  -pedantic  -pedantic-errors
	-w  -W  -Wall  -Waggregate-return  -Wbad-function-cast
	-Wcast-align -Wcast-qual  -Wchar-subscript  -Wcomment
	-Wconversion -Wenum-clash  -Werror  -Wformat
	-Wid-clash-len  -Wimplicit  -Wimport  -Winline
	-Wlarger-than-len  -Wmissing-declarations
	-Wmissing-prototypes  -Wnested-externs
	-Wno-import  -Woverloaded-virtual -Wparentheses
	-Wpointer-arith  -Wredundant-decls -Wreorder -Wreturn-type -Wshadow
	-Wstrict-prototypes  -Wswitch  -Wsynth  -Wtemplate-debugging
	-Wtraditional  -Wtrigraphs -Wuninitialized  -Wunused
	-Wwrite-strings

Debugging Options
See Options for Debugging Your Program or GCC.
	-a  -dletters  -fpretend-float 
	-g  -glevel -gcoff  -gdwarf  -gdwarf+
	-ggdb  -gstabs  -gstabs+  -gxcoff  -gxcoff+
	-p  -pg  -print-file-name=library  -print-libgcc-file-name
	-print-prog-name=program  -print-search-dirs  -save-temps

Optimization Options
See Options that Control Optimization.
	-fcaller-saves  -fcse-follow-jumps  -fcse-skip-blocks
	-fdelayed-branch   -fexpensive-optimizations  
	-ffast-math  -ffloat-store  -fforce-addr  -fforce-mem
	-finline-functions  -fkeep-inline-functions  
	-fno-default-inline  -fno-defer-pop  -fno-function-cse
	-fno-inline  -fno-peephole  -fomit-frame-pointer  
	-frerun-cse-after-loop  -fschedule-insns  
	-fschedule-insns2  -fstrength-reduce  -fthread-jumps 
	-funroll-all-loops  -funroll-loops
	-O  -O0  -O1  -O2  -O3

Preprocessor Options
See Options Controlling the Preprocessor.
	-Aquestion(answer)  -C  -dD  -dM  -dN
	-Dmacro[=defn]  -E  -H
	-idirafter dir
	-include file  -imacros file
	-iprefix file  -iwithprefix dir
	-iwithprefixbefore dir  -isystem dir
	-M  -MD  -MM  -MMD  -MG  -nostdinc  -P  -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  -shared  -symbolic  
	-Wl,option  -Xlinker option
	-u symbol

Directory Options
See Options for Directory Search.
	-Bprefix  -Idir  -I-  -Ldir

Target Options
See Target Options.
	-b machine  -V version

Machine Dependent Options
See Hardware Models and Configurations.
	M680x0 Options
	-m68000  -m68020  -m68020-40  -m68030  -m68040  -m68881  
	-mbitfield  -mc68000  -mc68020  -mfpa  -mnobitfield  
	-mrtd  -mshort  -msoft-float 
	
	VAX Options
	-mg  -mgnu  -munix
	
	SPARC Options
	-mapp-regs  -mcypress  -mepilogue  -mflat  -mfpu  -mhard-float
	-mhard-quad-float  -mno-app-regs  -mno-flat  -mno-fpu
	-mno-epilogue  -mno-unaligned-doubles
	-msoft-float  -msoft-quad-float
	-msparclite  -msupersparc  -munaligned-doubles  -mv8
	
	SPARC V9 compilers support the following options
	in addition to the above:
	
	-mmedlow  -mmedany
	-mint32  -mint64  -mlong32  -mlong64
	-mno-stack-bias  -mstack-bias
	
	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 -m2 -m3 -m6 -mbsd -mxopen -mno-symrename
	
	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
	-mpower  -mno-power  -mpower2  -mno-power2
	-mpowerpc  -mno-powerpc
	-mpowerpc-gpopt  -mno-powerpc-gpopt
	-mpowerpc-gfxopt  -mno-powerpc-gfxopt
	-mnew-mnemonics  -mno-new-mnemonics
	-mfull-toc   -mminimal-toc  -mno-fop-in-toc  -mno-sum-in-toc
	-msoft-float  -mhard-float -mmultiple -mno-multiple
	-mstring -mno-string -mbit-align -mno-bit-align
	-mstrict-align -mno-strict-align -mrelocatable -mno-relocatable
	-mtoc -mno-toc -mtraceback -mno-traceback
	-mlittle -mlittle-endian -mbig -mbig-endian
	
	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  -mcpu=cpu  type  -membedded-data
	-membedded-pic  -mfp32  -mfp64  -mgas  -mgp32  -mgp64
	-mgpopt  -mhalf-pic  -mhard-float  -mint64 -mips1
	-mips2 -mips3  -mlong64  -mlong-calls  -mmemcpy
	-mmips-as  -mmips-tfile  -mno-abicalls
	-mno-embedded-data  -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
	
	i386 Options
	-m486  -m386 -mieee-fp  -mno-fancy-math-387
	-mno-fp-ret-in-387  -msoft-float  -msvr3-shlib  
	-mno-wide-multiply -mrtd -malign-double
	-mreg-alloc=list -mregparm=num
	-malign-jumps=num -malign-loops=num
	-malign-functions=num
	
	HPPA Options
	-mdisable-fpregs  -mdisable-indexing  -mfast-indirect-calls
	-mgas  -mjump-in-delay -mlong-millicode-calls -mno-disable-fpregs
	-mno-disable-indexing -mno-fast-indirect-calls -mno-gas
	-mno-jump-in-delay -mno-millicode-long-calls
	-mno-portable-runtime -mno-soft-float -msoft-float
	-mpa-risc-1-0  -mpa-risc-1-1  -mportable-runtime -mschedule=list
	
	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
	-mfp-regs  -mno-fp-regs  -mno-soft-float
	-msoft-float
	
	Clipper Options
	-mc300 -mc400
	
	H8/300 Options
	-mrelax  -mh
	
	System V Options
	-Qy  -Qn  -YP,paths  -Ym,dir

Code Generation Options
See Options for Code Generation Conventions.
	-fcall-saved-reg  -fcall-used-reg 
	-ffixed-reg  -finhibit-size-directive 
	-fno-common  -fno-ident  -fno-gnu-linker
	-fpcc-struct-return  -fpic  -fPIC 
	-freg-struct-return  -fshared-data  -fshort-enums
	-fshort-double  -fvolatile  -fvolatile-global
	-fverbose-asm -fpack-struct +e0  +e1

Overall Options Controlling the kind of output:
an executable, object files, assembler files,
or preprocessed source.
C Dialect Options Controlling the variant of C language compiled.
C++ Dialect Options Variations on C++.
Warning Options How picky should the compiler be?
Debugging Options Symbol tables, measurements, and debugging dumps.
Optimize Options How much optimization?
Preprocessor Options Controlling header files and macro definitions.
Also, getting dependency information for Make.
Assembler Options Passing options to the assembler.
Link Options Specifying libraries and so on.
Directory Options Where to find header files and libraries.
Where to find the compiler executable files.
Target Options Running a cross-compiler, or an old version of GNU CC.


Next: Overall Options Up: Invoking GCC