Next: , Up: Invoking GCC



3.1 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 
          
          -ObjC (APPLE ONLY) -ObjC++ (APPLE ONLY) 
          
          -arch arch (APPLE ONLY) 
          -v  -###  --help  --target-help  --version
     

C Language Options
See Options Controlling C Dialect.
          -ansi  -std=standard  -aux-info filename 
          
          -faltivec (APPLE ONLY) 
          
          -fasm-blocks (APPLE ONLY) 
          -fno-asm -fno-builtin -fno-builtin-function 
          -fhosted  -ffreestanding  -fms-extensions 
          -trigraphs  -no-integrated-cpp  -traditional  -traditional-cpp 
          -fallow-single-precision  -fcond-mismatch 
          
          -fconstant-cfstrings (APPLE ONLY) 
          
          -fpch-preprocess (APPLE ONLY) 
          -fsigned-bitfields  -fsigned-char 
          -funsigned-bitfields  -funsigned-char 
          
          -fpascal-strings (APPLE ONLY) 
          
          -fcoalesce (APPLE ONLY) -fweak-coalesced (APPLE ONLY) 
          
          -Wno-#warnings (APPLE ONLY) 
          
          -Wextra-tokens (APPLE ONLY) 
          
          -Wpragma-once (APPLE ONLY) 
          
          -Wnewline-eof (APPLE ONLY) 
          
          -Wno-altivec-long-deprecated (APPLE ONLY)
          -fwritable-strings
     

C++ Language Options
See Options Controlling C++ Dialect.
          -fabi-version=n -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 
          
          -findirect-virtual-calls (APPLE ONLY) 
          
          -fapple-kext (APPLE ONLY) 
          
          -fcoalesce-templates (APPLE ONLY) 
          -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  
          -fno-nil-receivers (APPLE ONLY) 
          -fobjc-direct-dispatch (APPLE ONLY) 
          -fobjc-exceptions (APPLE ONLY) 
          -freplace-objc-classes (APPLE ONLY) 
          -fzero-link (APPLE ONLY) 
          
          -gen-decls 
          -Wno-protocol  -Wselector -Wundeclared-selector
     

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  -Wno-div-by-zero  -Werror 
          -Wfloat-equal  -Wformat  -Wformat=2 
          -Wformat-nonliteral  -Wformat-security 
          -Wimplicit  -Wimplicit-int  
          -Wimplicit-function-declaration 
          -Werror-implicit-function-declaration 
          -Wimport  -Winline  -Winvalid-pch  -Wno-endif-labels 
          
          -Wno-invalid-offsetof (APPLE ONLY) 
          -Wlarger-than-len  -Wlong-long 
          
          -Wno-long-double (APPLE ONLY) 
          -Wmain  -Wmissing-braces 
          -Wmissing-format-attribute  -Wmissing-noreturn 
          
          -Wmost (APPLE ONLY) 
          -Wno-multichar  -Wno-format-extra-args  -Wno-format-y2k 
          -Wno-import  -Wnonnull  -Wpacked  -Wpadded 
          -Wparentheses  -Wpointer-arith  -Wredundant-decls 
          -Wreturn-type  -Wsequence-point  -Wshadow 
          -Wsign-compare  -Wstrict-aliasing 
          -Wswitch  -Wswitch-default -Wswitch-enum 
          -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] 
          -feliminate-dwarf2-dups  -fmem-report 
          -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 -fsave-repository=location -grepository
     

Optimization Options
See Options that Control Optimization.
          -falign-functions=n  -falign-jumps=n 
          -falign-labels=n  -falign-loops=n  
          -falign-loops-max-skip=n -falign-jumps-max-skip=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 -floop-optimize -fcrossjumping 
          -fif-conversion -fif-conversion2 
          -finline-functions  -finline-limit=n  -fkeep-inline-functions 
          -fkeep-static-consts  -fmerge-constants  -fmerge-all-constants 
          -fmove-all-movables  -fnew-ra  -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 -ffinite-math-only 
          -fno-trapping-math -fno-zero-initialized-in-bss 
          -fomit-frame-pointer  -foptimize-register-move 
          -foptimize-sibling-calls  -fprefetch-loop-arrays 
          -freduce-all-givs -fregmove  -frename-registers 
          -freorder-blocks -freorder-functions 
          -frerun-cse-after-loop  -frerun-loop-opt 
          -fschedule-insns  -fschedule-insns2 
          -fno-sched-interblock  -fno-sched-spec  -fsched-spec-load 
          -fsched-spec-load-dangerous  -fsignaling-nans 
          -fsingle-precision-constant  -fssa -fssa-ccp -fssa-dce 
          -fstrength-reduce  -fstrict-aliasing  -ftracer -fthread-jumps 
          -funroll-all-loops  -funroll-loops  
          --param name=value
          
          -O  -O0  -O1  -O2  -O3  -Os -fast (APPLE ONLY)
     

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 
          
          -dependency-file (APPLE ONLY) 
          -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  -no-c++filt (APPLE ONLY)  
          -s  -static  -static-libgcc  -shared  -shared-libgcc  -symbolic 
          -Wl,option  -Xlinker option 
          -u symbol
     

Directory Options
See Options for Directory Search.
          -Bprefix  -Idir  -I- 
          
          -Fdir (APPLE ONLY) 
          -Ldir  -specs=file
     

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

Machine Dependent Options
See Hardware Models and Configurations.

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 
          
          -malign-mac68k (APPLE ONLY) 
          -malign-power (APPLE ONLY) 
          -malign-natural (APPLE ONLY) 
          
          -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 
          
          -mdynamic-no-pic (APPLE ONLY) 
          
          -mlong-branch (APPLE ONLY) 
          -mcall-aix -mcall-sysv -mcall-netbsd 
          -maix-struct-return -msvr4-struct-return 
          -mabi=altivec -mabi=no-altivec 
          -mabi=spe -mabi=no-spe 
          -misel=yes -misel=no 
          -mprototype  -mno-prototype 
          -msim  -mmvme  -mads  -myellowknife  -memb -msdata 
          -msdata=opt  -mvxworks -mwindiss -G num -pthread
     

Darwin Options

          -all_load -allowable_client -arch -arch_errors_fatal 
          -arch_only -bind_at_load -bundle -bundle_loader 
          -client_name -compatibility_version -current_version 
          -dead_strip -no_dead_strip_inits_and_terms 
          -dependency-file -dylib_file -dylinker_install_name 
          -dynamic -dynamiclib -exported_symbols_list 
          -filelist -flat_namespace -force_cpusubtype_ALL 
          -force_flat_namespace -headerpad_max_install_names 
          -image_base -init -install_name -keep_private_externs 
          -multi_module -multiply_defined -multiply_defined_unused 
          -noall_load -nomultidefs -noprebind -noseglinkedit 
          -pagezero_size -prebind -prebind_all_twolevel_modules 
          -private_bundle -read_only_relocs -sectalign 
          -sectobjectsymbols -whyload -seg1addr 
          -sectcreate -sectobjectsymbols -sectorder 
          -seg_addr_table -seg_addr_table_filename -seglinkedit 
          -segprot -segs_read_only_addr -segs_read_write_addr 
          -single_module -static -sub_library -sub_umbrella 
          -twolevel_namespace -umbrella -undefined 
          -unexported_symbols_list -weak_reference_mismatches -whatsloaded
          
          -mone-byte-bool
          
     

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
     

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 
          -ftls-model=model 
          -ftrapv -fbounds-check