The following documentation lists the options available, and they are grouped by type. Each group of options has corresponding documentation discussing usage of the options.
See Options Controlling the Kind of Output.
-c -S -E -o file -pipe -v -x language
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
See Options that Control C++ Dialect.
-fall-virtual -fdollars-in-identifiers
-felide-constructors -fenum-int-equiv
-fexternal-templates -ffor-scope -fno-for-scope
-fhandle-signatures -fmemoize-lookups
-fno-default-inline -fno-gnu-keywords
-fnonnull-objects -foperator-names -fstrict-prototype
-fthis-is-variable -nostdinc++ -traditional
+en
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
-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
-Wsign-compare -Wstrict-prototypes -Wswitch -Wsynth
-Wtemplate-debugging -Wtraditional -Wtrigraphs
-Wuninitialized -Wunused -Wwrite-strings
See Options for Debugging Your Program or GCC.
-a -ax -dletters -fpretend-float -fprofile-arcs
-ftest-coverage -g -glevel -gcoff -gdwarf -gdwarf-1
-gdwarf+1 -gdwarf-2 -ggdb -gstabs -gstabs+
-gxcoff -gxcoff+ -p -pg -print-file-name=library
-print-libgcc-file-name -print-prog-name=program
-print-search-dirs -save-temps
See Options that Control Optimization.
-fbranch-probabilities -fcaller-saves
-fcombine-statics -fcse-follow-jumps -fcse-skip-blocks
-fdelayed-branch -fexpensive-optimizations
-ffast-math -ffloat-store -fforce-addr -fforce-mem
-ffunction-sections -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 -fshorten-lifetimes -fregmove
-fstrength-reduce -fthread-jumps -funroll-all-loops
-funroll-loops -O -O0 -O1 -O2 -O3
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
See Passing Options to the Assembler.
-Wa, option
See Options for Linking.
object-file-name -llibrary
-nostartfiles -nodefaultlibs -nostdlib
-s -static -shared -symbolic
-Wl, option -Xlinker option
-u symbol
See Options for Directory Search.
-Bprefix -Idir -I- -Ldir
See Specifying Target Machine and Compiler Version.
-bmachine -Vversion
See Hardware Models and Configurations.
M680x0 Options (see M680x0 Options)
-m68000 -m68020 -m68020-40 -m68030 -m68040
-m68060 -m5200 -m68881 -mbitfield -mc68000 -mc68020
-mfpa -mnobitfield -mrtd -mshort -msoft-float
VAX Options (see VAX Options)
-mg -mgnu -munix
SPARC Options (see SPARC Options)
-mcpu=cpu type
-mtune=cpu type
-mapp-regs -mbroken-saverestore -mcypress -mepilogue
-mflat -mfpu -mfullany -mhard-float -mhard-quad-float
-mimpure-text -mint32 -mint64 -mliveg0 -mlong32
-mlong64 -mmedlow -mmedany -mno-app-regs -mno-epilogue -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 (see Convex Options)
-mc1 -mc2 -mc32 -mc34 -mc38 -margcount
-mnoargcount
-mlong32 -mlong64 -mvolatile-cache -mvolatile-nocache
AMD29K Options (see 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 (see ARM Options)
-mapcs-frame -mapcs-26 -mapcs-32
-mlittle-endian -mbig-endian -mwords-little-endian -mshort-load-bytes
-mno-short-load-bytes -msoft-float -mhard-float
-mbsd -mxopen -mno-symrename
M88K Options (see 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
IBM RS/6000 and PowerPC Options (see IBM RS/6000 and PowerPC Options)
-mcpu=cpu type
-mtune=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 -mxl-call -mno-xl-call -mthreads -mpe
-msoft-float -mhard-float -mmultiple -mno-multiple
-mstring -mno-string -mbit-align -mno-bit-align
-mstrict-align -mno-strict-align -mrelocatable
-mno-relocatable -mrelocatable-lib -mno-relocatable-lib
-mtoc -mno-toc -mtraceback -mno-traceback
-mlittle -mlittle-endian -mbig -mbig-endian
-mcall-aix -mcall-sysv -mprototype -mno-prototype
-msim -mmvme -memb -msdata -msdata=opt -G num
IBM RT Options (see IBM 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 (see 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 (see Intel 386 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 (see HPPA Options)
-mdisable-fpregs -mdisable-indexing
-mfast-indirect-calls -mgas -mjump-in-delay
-mlong-load-store -mno-disable-fpregs
-mno-disable-indexing
-mfast-indirect-calls -mno-gas -mno-jump-in-delay
-mno-long-load-store -mno-portable-runtime -mno-soft-float
-mno-space -mno-space-regs -msoft-float
-mpa-risc-1-0 -mpa-risc-1-1 -mportable-runtime
-mschedule=list -mspace -mspace-regs
Intel 960 Options (see 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 (see DEC Alpha Options)
-mfp-regs -mno-fp-regs -mno-soft-float
-msoft-float -mieee -mieee-with-inexact -mieee-conformant
-mfp-trap-mode -mfp-rounding-mode -mtrap-precision
-mbuild-constants
Clipper Options (see Clipper Options)
-mc300 -mc400
H8/300 Options (see H8/300 Options)
-mrelax -mh -mint32 -malign-300
SH Options (see SH Options)
-m1 -m2 -m3 -m3e -mb -ml -mrelax
System V Options (see System V Options)
-Qy -Qn -YP,paths -Ym,dir
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 -funaligned-pointers
-funaligned-struct-hack -fvolatile -fvolatile-global
-fverbose-asm -fpack-struct +e0 +e1