prev UP NEXT Using and Porting GNU CC

3.1: Option Summary

Here is a summary of all the options, grouped by type. Explanations are in the following sections.

Overall Options
See Overall Options.
-c  -S  -E  -o file  -pipe  -v  -x language 
C Language Options
See C Dialect Options.
-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 C++ Dialect Options.
-fall-virtual  -fdollars-in-identifiers  -felide-constructors
-fenum-int-equiv -fexternal-templates  -fhandle-signatures
-fmemoize-lookups  -fno-default-inline  -fno-strict-prototype
-fnonnull-objects  -fthis-is-variable  -nostdinc++
-traditional  +en
Warning Options
See Warning Options.
-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  -Wreturn-type -Wshadow
-Wstrict-prototypes  -Wswitch  -Wtemplate-debugging
-Wtraditional  -Wtrigraphs -Wuninitialized  -Wunused
Debugging Options
See Debugging Options.
-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  -save-temps
Optimization Options
See Optimize Options.
-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 Preprocessor Options.
-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
Assembler Option
See Assembler Options.
Linker Options
See Link Options.
-llibrary  -nostartfiles  -nostdlib  
-static  -shared  -symbolic  
-Wl,option  -Xlinker option
-u symbol
Directory Options
See Directory Options.
-Bprefix  -Idir  -I-  -Ldir
Target Options
See Target Options.
-b machine  -V version
Machine Dependent Options
See Submodel Options.
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:

-mcode-model=code model
-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 Options and PowerPC
-mcpu=cpu type
-mpower -mno-power -mpower2 -pno-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

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  
-mstats  -G  num  -nocpp

i386 Options
-m486  -mieee-fp  -mno-486  -mno-fancy-math-387
-mno-fp-ret-in-387  -msoft-float  -msvr3-shlib  

HPPA Options
-mdisable-fpregs  -mdisable-indexing  -mjump-in-delay 
-mgas  -mlong-calls  -mno-disable-fpregs  -mno-disable-indexing
-mno-gas  -mno-jump-in-delay
-mno-long-calls  -mno-portable-runtime
-mpa-risc-1-0  -mpa-risc-1-1  -mportable-runtime

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

DEC Alpha Options
-mfp-regs  -mno-fp-regs  -mno-soft-float

Clipper Options
-mc300 -mc400

H8/300 Options
-mrelax  -mh

System V Options
-Qy  -Qn  -YP,paths  -Ym,dir
Code Generation Options
See Code Gen Options.
-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  +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.