-helpCommonDisplay this information
-output-pch=C ObjC C++ ObjC++ Joined Separate
-paramCommon Separate--param = Set parameter to value. See below for a complete list of parameters
-target-helpCommon
-versionCommon
AC ObjC C++ ObjC++ Joined Separate-A= Assert the to . Putting '-' before disables the to
CC ObjC C++ ObjC++Do not discard comments
CCC ObjC C++ ObjC++Do not discard comments in macro expansions
DC ObjC C++ ObjC++ Joined Separate-D[=] Define a with as its value. If just is given, is taken to be 1
EC ObjC C++ ObjC++ Undocumented
FC ObjC C++ ObjC++ Joined Separate-F Add to the end of the main framework include path
GCommon Joined Separate UInteger-G Put global and static data smaller than bytes into a special section (on some targets)
HC ObjC C++ ObjC++Print the name of header files as they are used
IC ObjC C++ ObjC++ Joined Separate-I Add to the end of the main include path
LanguageC
LanguageC++
LanguageObjC
LanguageObjC++
MC ObjC C++ ObjC++Generate make dependencies
MDC ObjC C++ ObjC++ SeparateGenerate make dependencies and compile
MFC ObjC C++ ObjC++ Joined Separate-MF Write dependency output to the given file
MGC ObjC C++ ObjC++Treat missing header files as generated files
MMC ObjC C++ ObjC++Like -M but ignore system header files
MMDC ObjC C++ ObjC++ SeparateLike -MD but ignore system header files
MPC ObjC C++ ObjC++Generate phony targets for all headers
MQC ObjC C++ ObjC++ Joined Separate-MQ Add a MAKE-quoted target
MTC ObjC C++ ObjC++ Joined Separate-MT Add an unquoted target
Mask(3DNOW_A)
OCommon JoinedOrMissing-O Set optimization level to
OsCommonOptimize for space rather than speed
PC ObjC C++ ObjC++Do not generate #line directives
UC ObjC C++ ObjC++ Joined Separate-U Undefine
WCommon RejectNegativeThis switch is deprecated; use -Wextra instead
WabiC++ ObjC++ Var(warn_abi)Warn about things that will change when compiling with an ABI-compliant compiler
Waggregate-returnCommon Var(warn_aggregate_return)Warn about returning structures, unions or arrays
WallC ObjC C++ ObjC++Enable most warning messages
Wassign-interceptObjC ObjC++ Var(warn_assign_intercept)Warn whenever an Objective-C assignment is being intercepted by the garbage collector
WattributesCommon Var(warn_attributes) Init(1)Warn about inappropriate attribute usage
Wbad-function-castC ObjC Var(warn_bad_function_cast)Warn about casting functions to incompatible types
Wc++-compatC Var(warn_cxx_compat)Warn about C constructs that are not in the common subset of C and C++
Wcast-alignCommon Var(warn_cast_align)Warn about pointer casts which increase alignment
Wcast-qualC ObjC C++ ObjC++ Var(warn_cast_qual)Warn about casts which discard qualifiers
Wchar-subscriptsC ObjC C++ ObjC++ Var(warn_char_subscripts)Warn about subscripts whose type is \"char\"
WcommentC ObjC C++ ObjC++Warn about possibly nested block comments, and C++ comments spanning more than one physical line
WcommentsC ObjC C++ ObjC++Synonym for -Wcomment
WconversionC ObjC C++ ObjC++ Var(warn_conversion)Warn about possibly confusing type conversions
Wctor-dtor-privacyC++ ObjC++ Var(warn_ctor_dtor_privacy)Warn when all constructors and destructors are private
Wdeclaration-after-statementC ObjC Var(warn_declaration_after_statement)Warn when a declaration is found after a statement
WdeprecatedC++ ObjC++ Var(warn_deprecated) Init(1)Warn about deprecated compiler features
Wdeprecated-declarationsCommon Var(warn_deprecated_decl) Init(1)Warn about uses of __attribute__((deprecated)) declarations
Wdisabled-optimizationCommon Var(warn_disabled_optimization)Warn when an optimization pass is disabled
Wdiv-by-zeroC ObjC Var(warn_div_by_zero) Init(1)Warn about compile-time integer division by zero
Weffc++C++ ObjC++ Var(warn_ecpp)Warn about violations of Effective C++ style rules
Wendif-labelsC ObjC C++ ObjC++Warn about stray tokens after #elif and #endif
WerrorC ObjC C++ ObjC++
WerrorCommon Var(warnings_are_errors)Treat all warnings as errors
Werror-implicit-function-declarationC ObjC RejectNegativeMake implicit function declarations an error
WextraCommonPrint extra (possibly unwanted) warnings
Wfatal-errorsCommon Var(flag_fatal_errors)Exit on the first error occurred
Wfloat-equalC ObjC C++ ObjC++ Var(warn_float_equal)Warn if testing floating point numbers for equality
WformatC ObjC C++ ObjC++Warn about printf/scanf/strftime/strfmon format string anomalies
Wformat-extra-argsC ObjC C++ ObjC++ Var(warn_format_extra_args)Warn if passing too many arguments to a function for its format string
Wformat-nonliteralC ObjC C++ ObjC++ Var(warn_format_nonliteral)Warn about format strings that are not literals
Wformat-securityC ObjC C++ ObjC++ Var(warn_format_security)Warn about possible security problems with format functions
Wformat-y2kC ObjC C++ ObjC++ Var(warn_format_y2k)Warn about strftime formats yielding 2-digit years
Wformat-zero-lengthC ObjC Var(warn_format_zero_length)Warn about zero-length formats
Wformat=C ObjC C++ ObjC++ Joined
WimplicitC ObjC C++ ObjC++
Wimplicit-function-declarationC ObjC Var(mesg_implicit_function_declaration) Init(-1)Warn about implicit function declarations
Wimplicit-intC ObjC Var(warn_implicit_int)Warn when a declaration does not specify a type
WimportC ObjC C++ ObjC++Deprecated. This switch has no effect
Winit-selfC ObjC C++ ObjC++ Var(warn_init_self)Warn about variables which are initialized to themselves
WinlineCommon Var(warn_inline)Warn when an inlined function cannot be inlined
Wint-to-pointer-castC ObjC Var(warn_int_to_pointer_cast) Init(1)Warn when there is a cast to a pointer from an integer of a different size
Winvalid-offsetofC++ ObjC++ Var(warn_invalid_offsetof) Init(1)Warn about invalid uses of the \"offsetof\" macro
Winvalid-pchC ObjC C++ ObjC++Warn about PCH files that are found but not used
Wlarger-than-Common RejectNegative Joined UInteger-Wlarger-than- Warn if an object is larger than bytes
Wlong-longC ObjC C++ ObjC++ Var(warn_long_long) Init(1)Do not warn about using \"long long\" when -pedantic
WmainC ObjCWarn about suspicious declarations of \"main\"
Wmissing-bracesC ObjC C++ ObjC++ Var(warn_missing_braces)Warn about possibly missing braces around initializers
Wmissing-declarationsC ObjC Var(warn_missing_declarations)Warn about global functions without previous declarations
Wmissing-field-initializersC ObjC C++ ObjC++ Var(warn_missing_field_initializers) Init(-1)Warn about missing fields in struct initializers
Wmissing-format-attributeC ObjC C++ ObjC++ Var(warn_missing_format_attribute)Warn about functions which might be candidates for format attributes
Wmissing-include-dirsC ObjC C++ ObjC++Warn about user-specified include directories that do not exist
Wmissing-noreturnCommon Var(warn_missing_noreturn)Warn about functions which might be candidates for __attribute__((noreturn))
Wmissing-prototypesC ObjC Var(warn_missing_prototypes)Warn about global functions without prototypes
WmulticharC ObjC C++ ObjC++Warn about use of multi-character character constants
Wnested-externsC ObjC Var(warn_nested_externs)Warn about \"extern\" declarations not at file scope
Wnon-template-friendC++ ObjC++ Var(warn_nontemplate_friend) Init(1)Warn when non-templatized friend functions are declared within a template
Wnon-virtual-dtorC++ ObjC++ Var(warn_nonvdtor)Warn about non-virtual destructors
WnonnullC ObjC Var(warn_nonnull)Warn about NULL being passed to argument slots marked as requiring non-NULL
Wnormalized=C ObjC C++ ObjC++ Joined-Wnormalized= Warn about non-normalised Unicode strings
Wold-style-castC++ ObjC++ Var(warn_old_style_cast)Warn if a C-style cast is used in a program
Wold-style-definitionC ObjC Var(warn_old_style_definition)Warn if an old-style parameter definition is used
Woverloaded-virtualC++ ObjC++ Var(warn_overloaded_virtual)Warn about overloaded virtual function names
WpackedCommon Var(warn_packed)Warn when the packed attribute has no effect on struct layout
WpaddedCommon Var(warn_padded)Warn when padding is required to align structure members
WparenthesesC ObjC C++ ObjC++ Var(warn_parentheses)Warn about possibly missing parentheses
Wpmf-conversionsC++ ObjC++ Var(warn_pmf2ptr) Init(1)Warn when converting the type of pointers to member functions
Wpointer-arithC ObjC C++ ObjC++ Var(warn_pointer_arith)Warn about function pointer arithmetic
Wpointer-signC ObjC Var(warn_pointer_sign) Init(-1)Warn when a pointer differs in signedness in an assignment
Wpointer-to-int-castC ObjC Var(warn_pointer_to_int_cast) Init(1)Warn when a pointer is cast to an integer of a different size
WpragmasC ObjC C++ ObjC++ Var(warn_pragmas) Init(1)Warn about misuses of pragmas
WprotocolObjC ObjC++ Var(warn_protocol) Init(1)Warn if inherited methods are unimplemented
Wredundant-declsC ObjC C++ ObjC++ Var(warn_redundant_decls)Warn about multiple declarations of the same object
WreorderC++ ObjC++ Var(warn_reorder)Warn when the compiler reorders code
Wreturn-typeC ObjC C++ ObjC++ Var(warn_return_type)Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)
WselectorObjC ObjC++ Var(warn_selector)Warn if a selector has multiple methods
Wsequence-pointC ObjC C++ ObjC++ Var(warn_sequence_point)Warn about possible violations of sequence point rules
WshadowCommon Var(warn_shadow)Warn when one local variable shadows another
Wsign-compareC ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1)Warn about signed-unsigned comparisons
Wsign-promoC++ ObjC++ Var(warn_sign_promo)Warn when overload promotes from unsigned to signed
Wstack-protectorCommon Var(warn_stack_protect)Warn when not issuing stack smashing protection for some reason
Wstrict-aliasingCommonWarn about code which might break strict aliasing rules
Wstrict-aliasing=Common Joined UIntegerWarn about code which might break strict aliasing rules
Wstrict-null-sentinelC++ ObjC++Warn about uncasted NULL used as sentinel
Wstrict-prototypesC ObjC Var(warn_strict_prototypes)Warn about unprototyped function declarations
Wstrict-selector-matchObjC ObjC++ Var(warn_strict_selector_match)Warn if type signatures of candidate methods do not match exactly
WswitchCommon Var(warn_switch)Warn about enumerated switches, with no default, missing a case
Wswitch-defaultCommon Var(warn_switch_default)Warn about enumerated switches missing a \"default:\" statement
Wswitch-enumCommon Var(warn_switch_enum)Warn about all enumerated switches missing a specific case
WsynthC++ ObjC++ Var(warn_synth)Warn when synthesis behavior differs from Cfront
Wsystem-headersC ObjC C++ ObjC++Do not suppress warnings from system headers
Wsystem-headersCommon Var(warn_system_headers)Do not suppress warnings from system headers
WtraditionalC ObjC Var(warn_traditional)Warn about features not present in traditional C
WtrigraphsC ObjC C++ ObjC++Warn if trigraphs are encountered that might affect the meaning of the program
Wundeclared-selectorObjC ObjC++ Var(warn_undeclared_selector)Warn about @selector()s without previously declared methods
WundefC ObjC C++ ObjC++Warn if an undefined macro is used in an #if directive
WuninitializedCommon Var(warn_uninitialized)Warn about uninitialized automatic variables
Wunknown-pragmasC ObjC C++ ObjC++Warn about unrecognized pragmas
Wunreachable-codeCommon Var(warn_notreached)Warn about code that will never be executed
Wunsafe-loop-optimizationsCommon Var(warn_unsafe_loop_optimizations)Warn if the loop cannot be optimized due to nontrivial assumptions.
WunusedCommonEnable all -Wunused- warnings
Wunused-functionCommon Var(warn_unused_function)Warn when a function is unused
Wunused-labelCommon Var(warn_unused_label)Warn when a label is unused
Wunused-macrosC ObjC C++ ObjC++Warn about macros defined in the main file that are not used
Wunused-parameterCommon Var(warn_unused_parameter)Warn when a function parameter is unused
Wunused-valueCommon Var(warn_unused_value)Warn when an expression value is unused
Wunused-variableCommon Var(warn_unused_variable)Warn when a variable is unused
Wvariadic-macrosC ObjC C++ ObjC++Do not warn about using variadic macros when -pedantic
Wvolatile-register-varCommon Var(warn_register_var)Warn when a register variable is declared volatile
Wwrite-stringsC ObjC C++ ObjC++Give strings the type \"array of char\"
ansiC ObjC C++ ObjC++A synonym for -std=c89 (for C) or -std=c++98 (for C++)
aux-infoCommon Separate-aux-info Emit declaration information into
aux-info=Common Joined
auxbaseCommon Separate
auxbase-stripCommon Separate
dC ObjC C++ ObjC++ Joined
dCommon Joined-d Enable dumps from specific passes of the compiler
dumpbaseCommon Separate-dumpbase Set the file basename to be used for dumps
fPICCommon Report Var(flag_pic,2)Generate position-independent code if possible (large mode)
fPIECommon Report Var(flag_pie,2)Generate position-independent code for executables if possible (large mode)
fabi-version=Common Joined UInteger Var(flag_abi_version) Init(2)
faccess-controlC++ ObjC++Enforce class member access control semantics
falign-functionsCommon Report Var(align_functions,0)Align the start of functions
falign-functions=Common RejectNegative Joined UInteger
falign-jumpsCommon Report Var(align_jumps,0)Align labels which are only reached by jumping
falign-jumps=Common RejectNegative Joined UInteger
falign-labelsCommon Report Var(align_labels,0)Align all labels
falign-labels=Common RejectNegative Joined UInteger
falign-loopsCommon Report Var(align_loops)Align the start of loops
falign-loops=Common RejectNegative Joined UInteger
fall-virtualC++ ObjC++
falt-external-templatesC++ ObjC++Change when template instances are emitted
fargument-aliasCommon Report Var(flag_argument_noalias,0)Specify that arguments may alias each other and globals
fargument-noaliasCommon Report Var(flag_argument_noalias,1) VarExistsAssume arguments may alias globals but not each other
fargument-noalias-globalCommon Report Var(flag_argument_noalias,2) VarExistsAssume arguments alias neither each other nor globals
fasmC ObjC C++ ObjC++Recognize the \"asm\" keyword
fasynchronous-unwind-tablesCommon Report Var(flag_asynchronous_unwind_tables)Generate unwind tables that are exact at each instruction boundary
fbounds-checkCommon Report Var(flag_bounds_check)Generate code to check bounds before indexing arrays
fbranch-count-regCommon Report Var(flag_branch_on_count_reg) Init(1)Replace add, compare, branch with branch on count register
fbranch-probabilitiesCommon Report Var(flag_branch_probabilities)Use profiling information for branch probabilities
fbranch-target-load-optimizeCommon Report Var(flag_branch_target_load_optimize)Perform branch target load optimization before prologue / epilogue threading
fbranch-target-load-optimize2Common Report Var(flag_branch_target_load_optimize2)Perform branch target load optimization after prologue / epilogue threading
fbtr-bb-exclusiveCommon Report Var(flag_btr_bb_exclusive)Restrict target load migration not to re-use registers in any basic block
fbuiltinC ObjC C++ ObjC++Recognize built-in functions
fbuiltin-C ObjC C++ ObjC++ Joined
fcall-saved-Common Joined RejectNegative-fcall-saved- Mark as being preserved across functions
fcall-used-Common Joined RejectNegative-fcall-used- Mark as being corrupted by function calls
fcaller-savesCommon Report Var(flag_caller_saves)Save registers around function calls
fcheck-newC++ ObjC++Check the return value of new
fcommonCommon Report Var(flag_no_common,0)Do not put uninitialized globals in the common section
fcond-mismatchC ObjC C++ ObjC++Allow the arguments of the '?' operator to have different types
fconserve-spaceC++ ObjC++Reduce the size of object files
fconst-stringsC++ ObjC++Make string literals \"const char[]\" not \"char[]\"
fconstant-string-class=ObjC ObjC++ Joined-fconst-string-class= Use class for constant strings
fcprop-registersCommon Report Var(flag_cprop_registers)Perform a register copy-propagation optimization pass
fcrossjumpingCommon Report Var(flag_crossjumping)Perform cross-jumping optimization
fcse-follow-jumpsCommon Report Var(flag_cse_follow_jumps)When running CSE, follow jumps to their targets
fcse-skip-blocksCommon Report Var(flag_cse_skip_blocks)When running CSE, follow conditional jumps
fcx-limited-rangeCommon Report Var(flag_cx_limited_range)Omit range reduction step when performing complex division
fdata-sectionsCommon Report Var(flag_data_sections)Place data items into their own section
fdefault-inlineC++ ObjC++Inline member functions by default
fdefer-popCommon Report Var(flag_defer_pop)Defer popping functions args from stack until later
fdelayed-branchCommon Report Var(flag_delayed_branch)Attempt to fill delay slots of branch instructions
fdelete-null-pointer-checksCommon Report Var(flag_delete_null_pointer_checks)Delete useless null pointer checks
fdiagnostics-show-location=Common Joined RejectNegative-fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics
fdiagnostics-show-optionCommonAmend appropriate diagnostic messages with the command line option that controls them
fdollars-in-identifiersC ObjC C++ ObjC++Permit '$' as an identifier character
fdump-Common Joined RejectNegative-fdump- Dump various compiler internals to a file
fdump-unnumberedCommon Report Var(flag_dump_unnumbered) VarExistsSuppress output of instruction numbers and line number notes in debugging dumps
fearly-inliningCommon Report Var(flag_early_inlining) Init(1)Perform early inlining
felide-constructorsC++ ObjC++
feliminate-dwarf2-dupsCommon Report Var(flag_eliminate_dwarf2_dups)Perform DWARF2 duplicate elimination
feliminate-unused-debug-symbolsCommon Report Var(flag_debug_only_used_symbols)Perform unused type elimination in debug info
feliminate-unused-debug-typesCommon Report Var(flag_eliminate_unused_debug_types) Init(1)Perform unused type elimination in debug info
fenforce-eh-specsC++ ObjC++Generate code to check exception specifications
fenum-int-equivC++ ObjC++
fexceptionsCommon Report Var(flag_exceptions)Enable exception handling
fexec-charset=C ObjC C++ ObjC++ Joined RejectNegative-fexec-charset= Convert all strings and character constants to character set
fexpensive-optimizationsCommon Report Var(flag_expensive_optimizations)Perform a number of minor, expensive optimizations
fextended-identifiersC ObjC C++ ObjC++Permit universal character names (\\u and \\U) in identifiers
fexternal-templatesC++ ObjC++
ffast-mathCommon
ffinite-math-onlyCommon Report Var(flag_finite_math_only)Assume no NaNs or infinities are generated
ffixed-Common Joined RejectNegative-ffixed- Mark as being unavailable to the compiler
ffixed-formC ObjC
ffixed-line-length-C ObjC Joined
ffixed-line-length-noneC ObjC
ffloat-storeCommon Report Var(flag_float_store)Don't allocate floats and doubles in extended-precision registers
ffor-scopeC++ ObjC++Scope of for-init-statement variables is local to the loop
fforce-addrCommon Report Var(flag_force_addr)Copy memory address constants into registers before use
fforce-memCommon Report Var(flag_force_mem)Copy memory operands into registers before use
ffreestandingC ObjCDo not assume that standard C libraries and \"main\" exist
ffriend-injectionC++ Var(flag_friend_injection)Inject friend functions into enclosing namespace
ffunction-cseCommon Report Var(flag_no_function_cse,0)Allow function addresses to be held in registers
ffunction-sectionsCommon Report Var(flag_function_sections)Place each function into its own section
fgcseCommon Report Var(flag_gcse)Perform global common subexpression elimination
fgcse-after-reloadCommon Report Var(flag_gcse_after_reload)Perform global common subexpression elimination after register allocationhas finished
fgcse-lasCommon Report Var(flag_gcse_las) Init(0)Perform redundant load after store elimination in global common subexpressionelimination
fgcse-lmCommon Report Var(flag_gcse_lm) Init(1)Perform enhanced load motion during global common subexpression elimination
fgcse-smCommon Report Var(flag_gcse_sm) Init(0)Perform store motion after global common subexpression elimination
fgnu-keywordsC++ ObjC++Recognize GNU-defined keywords
fgnu-runtimeObjC ObjC++Generate code for GNU runtime environment
fguess-branch-probabilityCommon Report Var(flag_guess_branch_prob)Enable guessing of branch probabilities
fguiding-declsC++ ObjC++
fhandle-exceptionsC++ ObjC++
fhonor-stdC++ ObjC++
fhostedC ObjCAssume normal C execution environment
fhuge-objectsC++ ObjC++Enable support for huge objects
fidentCommon Report Var(flag_no_ident,0)Process #ident directives
fif-conversionCommon Report Var(flag_if_conversion)Perform conversion of conditional jumps to branchless equivalents
fif-conversion2Common Report Var(flag_if_conversion2)Perform conversion of conditional jumps to conditional execution
fimplement-inlinesC++ ObjC++Export functions even if they can be inlined
fimplicit-inline-templatesC++ ObjC++Emit implicit instantiations of inline templates
fimplicit-templatesC++ ObjC++Emit implicit instantiations of templates
finhibit-size-directiveCommon Report Var(flag_inhibit_size_directive)Do not generate .size directives
finlineCommon Report Var(flag_no_inline,0) Init(2)Pay attention to the \"inline\" keyword
finline-functionsCommon Report Var(flag_inline_functions)Integrate simple functions into their callers
finline-functions-called-onceCommon Report Var(flag_inline_functions_called_once) Init(1)Integrate functions called once into their callers
finline-limit-Common RejectNegative Joined UInteger
finline-limit=Common RejectNegative Joined UInteger-finline-limit= Limit the size of inlined functions to
finput-charset=C ObjC C++ ObjC++ Joined RejectNegative-finput-charset= Specify the default character set for source files
finstrument-functionsCommon Report Var(flag_instrument_function_entry_exit)Instrument function entry and exit with profiling calls
fipa-cpCommon Report Var(flag_ipa_cp)Perform Interprocedural constant propagation
fipa-pure-constCommon Report Var(flag_ipa_pure_const) Init(0)Discover pure and const functions
fipa-referenceCommon Report Var(flag_ipa_reference) Init(0)Discover readonly and non addressable static variables
fipa-type-escapeCommon Report Var(flag_ipa_type_escape) Init(0)Type based escape and alias analysis
fivoptsCommon Report Var(flag_ivopts) Init(1)Optimize induction variables on trees
fjump-tablesCommon Var(flag_jump_tables) Init(1)Use jump tables for sufficiently large switch statements
fkeep-inline-functionsCommon Report Var(flag_keep_inline_functions)Generate code for functions even if they are fully inlined
fkeep-static-constsCommon Report Var(flag_keep_static_consts) Init(1)Emit static const variables even if they are not used
flabels-okC++ ObjC++
fleading-underscoreCommon Report Var(flag_leading_underscore) Init(-1)Give external symbols a leading underscore
floop-optimizeCommon Report Var(flag_loop_optimize)Perform loop optimizations
floop-optimize2Common Report Var(flag_loop_optimize2)Perform loop optimizations using the new loop optimizer
fmath-errnoCommon Report Var(flag_errno_math) Init(1)Set errno after built-in math functions
fmem-reportCommon Report Var(mem_report)Report on permanent memory allocation
fmerge-all-constantsCommon Report Var(flag_merge_constants,2) Init(1)Attempt to merge identical constants and constant variables
fmerge-constantsCommon Report Var(flag_merge_constants,1) VarExistsAttempt to merge identical constants across compilation units
fmessage-length=Common RejectNegative Joined UInteger-fmessage-length= Limit diagnostics to characters per line. 0 suppresses line-wrapping
fmodulo-schedCommon Report Var(flag_modulo_sched)Perform SMS based modulo scheduling before the first scheduling pass
fmove-loop-invariantsCommon Report Var(flag_move_loop_invariants)Move loop invariant computations out of loops
fms-extensionsC ObjC C++ ObjC++Don't warn about uses of Microsoft extensions
fmudflapCommon RejectNegative Report Var(flag_mudflap)Add mudflap bounds-checking instrumentation for single-threaded program
fmudflapirCommon RejectNegative Report Var(flag_mudflap_ignore_reads)Ignore read operations when inserting mudflap instrumentation
fmudflapthCommon RejectNegative Report Var(flag_mudflap_threads)Add mudflap bounds-checking instrumentation for multi-threaded program
fname-mangling-version-C++ ObjC++ Joined
fnew-abiC++ ObjC++
fnext-runtimeObjC ObjC++Generate code for NeXT (Apple Mac OS X) runtime environment
fnil-receiversObjC ObjC++Assume that receivers of Objective-C messages may be nil
fnon-call-exceptionsCommon Report Var(flag_non_call_exceptions)Support synchronous non-call exceptions
fnonansi-builtinsC++ ObjC++
fnonnull-objectsC++ ObjC++
fobjc-call-cxx-cdtorsObjC++ Var(flag_objc_call_cxx_cdtors)Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed
fobjc-direct-dispatchObjC ObjC++ Var(flag_objc_direct_dispatch)Allow fast jumps to the message dispatcher
fobjc-exceptionsObjC ObjC++ Var(flag_objc_exceptions)Enable Objective-C exception and synchronization syntax
fobjc-gcObjC ObjC++ Var(flag_objc_gc)Enable garbage collection (GC) in Objective-C/Objective-C++ programs
fobjc-sjlj-exceptionsObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1)Enable Objective-C setjmp exception handling runtime
fomit-frame-pointerCommon Report Var(flag_omit_frame_pointer)When possible do not generate stack frames
foperator-namesC++ ObjC++Recognize C++ kewords like \"compl\" and \"xor\"
foptimize-register-moveCommon Report Var(flag_regmove)Do the full register move optimization pass
foptimize-sibling-callsCommon Report Var(flag_optimize_sibling_calls)Optimize sibling and tail recursive calls
foptional-diagsC++ ObjC++Enable optional diagnostics
fpack-structCommon Report Var(flag_pack_struct)Pack structure members together without holes
fpack-struct=Common RejectNegative Joined UInteger-fpack-struct= Set initial maximum structure member alignment
fpcc-struct-returnCommon Report Var(flag_pcc_struct_return,1) VarExistsReturn small aggregates in memory, not registers
fpch-depsC ObjC C++ ObjC++
fpch-preprocessC ObjC C++ ObjC++Look for and use PCH files even when preprocessing
fpeel-loopsCommon Report Var(flag_peel_loops)Perform loop peeling
fpeepholeCommon Report Var(flag_no_peephole,0)Enable machine specific peephole optimizations
fpeephole2Common Report Var(flag_peephole2)Enable an RTL peephole pass before sched2
fpermissiveC++ ObjC++Downgrade conformance errors to warnings
fpicCommon Report Var(flag_pic,1) VarExistsGenerate position-independent code if possible (small mode)
fpieCommon Report Var(flag_pie,1) VarExistsGenerate position-independent code for executables if possible (small mode)
fprefetch-loop-arraysCommon Report Var(flag_prefetch_loop_arrays)Generate prefetch instructions, if available, for arrays in loops
fpreprocessedC ObjC C++ ObjC++Treat the input file as already preprocessed
fprofileCommon Report Var(profile_flag)Enable basic program profiling code
fprofile-arcsCommon Report Var(profile_arc_flag)Insert arc-based program profiling code
fprofile-generateCommonEnable common options for generating profile info for profile feedback directed optimizations
fprofile-useCommonEnable common options for performing profile feedback directed optimizations
fprofile-valuesCommon Report Var(flag_profile_values)Insert code to profile values of expressions
frandom-seedCommon
frandom-seed=Common Joined RejectNegative-frandom-seed= Make compile reproducible using
freg-struct-returnCommon Report Var(flag_pcc_struct_return,0) VarExistsReturn small aggregates in registers
fregmoveCommon Report Var(flag_regmove)Enables a register move optimization
frename-registersCommon Report Var(flag_rename_registers) Init(2)Perform a register renaming optimization pass
freorder-blocksCommon Report Var(flag_reorder_blocks)Reorder basic blocks to improve code placement
freorder-blocks-and-partitionCommon Report Var(flag_reorder_blocks_and_partition)Reorder basic blocks and partition into hot and cold sections
freorder-functionsCommon Report Var(flag_reorder_functions)Reorder functions to improve code placement
freplace-objc-classesObjC ObjC++Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime
frepoC++ ObjC++Enable automatic template instantiation
frerun-cse-after-loopCommon Report Var(flag_rerun_cse_after_loop) Init(2)Add a common subexpression elimination pass after loop optimizations
frerun-loop-optCommon Report Var(flag_rerun_loop_opt)Run the loop optimizer twice
freschedule-modulo-scheduled-loopsCommon Report Var(flag_resched_modulo_sched)Enable/Disable the traditional scheduling in loops that already passed modulo scheduling
frounding-mathCommon Report Var(flag_rounding_math)Disable optimizations that assume default FP rounding behavior
frttiC++ ObjC++Generate run time type descriptor information
fsched-interblockCommon Report Var(flag_schedule_interblock) Init(1)Enable scheduling across basic blocks
fsched-specCommon Report Var(flag_schedule_speculative) Init(1)Allow speculative motion of non-loads
fsched-spec-loadCommon Report Var(flag_schedule_speculative_load)Allow speculative motion of some loads
fsched-spec-load-dangerousCommon Report Var(flag_schedule_speculative_load_dangerous)Allow speculative motion of more loads
fsched-stalled-insnsCommon Report Var(flag_sched_stalled_insns)Allow premature scheduling of queued insns
fsched-stalled-insns-depCommon Report Var(flag_sched_stalled_insns_dep,1) Init(1)Set dependence distance checking in premature scheduling of queued insns
fsched-stalled-insns-dep=Common RejectNegative Joined UInteger-fsched-stalled-insns-dep= Set dependence distance checking in premature scheduling of queued insns
fsched-stalled-insns=Common RejectNegative Joined UInteger -fsched-stalled-insns= Set number of queued insns that can be prematurely scheduled
fsched-verbose=Common RejectNegative Joined-fsched-verbose= Set the verbosity level of the scheduler
fsched2-use-superblocksCommon Report Var(flag_sched2_use_superblocks)If scheduling post reload, do superblock scheduling
fsched2-use-tracesCommon Report Var(flag_sched2_use_traces)If scheduling post reload, do trace scheduling
fschedule-insnsCommon Report Var(flag_schedule_insns)Reschedule instructions before register allocation
fschedule-insns2Common Report Var(flag_schedule_insns_after_reload)Reschedule instructions after register allocation
fshared-dataCommon Report Var(flag_shared_data)Mark data as shared rather than private
fshort-doubleC ObjC C++ ObjC++Use the same size for double as for float
fshort-enumsC ObjC C++ ObjC++Use the narrowest integer type possible for enumeration types
fshort-wcharC ObjC C++ ObjC++Force the underlying type for \"wchar_t\" to be \"unsigned short\"
fshow-columnCommon C ObjC C++ ObjC++ Report Var(flag_show_column) Init(1)Show column numbers in diagnostics, when available. Default on
fsignaling-nansCommon Report Var(flag_signaling_nans)Disable optimizations observable by IEEE signaling NaNs
fsigned-bitfieldsC ObjC C++ ObjC++When \"signed\" or \"unsigned\" is not given make the bitfield signed
fsigned-charC ObjC C++ ObjC++Make \"char\" signed by default
fsingle-precision-constantCommon Report Var(flag_single_precision_constant)Convert floating point constants to single precision constants
fsplit-ivs-in-unrollerCommon Report Var(flag_split_ivs_in_unroller) Init(1)Split lifetimes of induction variables when loops are unrolled
fsquangleC++ ObjC++
fstack-checkCommon Report Var(flag_stack_check)Insert stack checking code into the program
fstack-limitCommon
fstack-limit-register=Common RejectNegative Joined-fstack-limit-register= Trap if the stack goes past
fstack-limit-symbol=Common RejectNegative Joined-fstack-limit-symbol= Trap if the stack goes past symbol
fstack-protectorCommon Report Var(flag_stack_protect, 1)Use propolice as a stack protection method
fstack-protector-allCommon Report RejectNegative Var(flag_stack_protect, 2) VarExistsUse a stack protection method for every function
fstatsC++ ObjC++Display statistics accumulated during compilation
fstrength-reduceCommon Report Var(flag_strength_reduce)Perform strength reduction optimizations
fstrict-aliasingCommon Report Var(flag_strict_aliasing)Assume strict aliasing rules apply
fstrict-prototypeC++ ObjC++
fsyntax-onlyCommon Report Var(flag_syntax_only)Check for syntax errors, then stop
ftabstop=C ObjC C++ ObjC++ Joined RejectNegative UInteger-ftabstop= Distance between tab stops for column reporting
ftemplate-depth-C++ ObjC++ Joined RejectNegative UInteger -ftemplate-depth- Specify maximum template instantiation depth
ftest-coverageCommon Report Var(flag_test_coverage)Create data files needed by \"gcov\"
fthis-is-variableC++ ObjC++
fthread-jumpsCommon Report Var(flag_thread_jumps)Perform jump threading optimizations
fthreadsafe-staticsC++ ObjC++-fno-threadsafe-statics Do not generate thread-safe code for initializing local statics
ftime-reportCommon Report Var(time_report)Report the time taken by each compiler pass
ftls-model=Common Joined RejectNegative-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model
ftracerCommon Report Var(flag_tracer)Perform superblock formation via tail duplication
ftrapping-mathCommon Report Var(flag_trapping_math) Init(1)Assume floating-point operations can trap
ftrapvCommon Report Var(flag_trapv)Trap for signed overflow in addition, subtraction and multiplication
ftree-ccpCommon Report Var(flag_tree_ccp)Enable SSA-CCP optimization on trees
ftree-chCommon Report Var(flag_tree_ch)Enable loop header copying on trees
ftree-combine-tempsCommon Report Var(flag_tree_combine_temps)Coalesce memory temporaries in the SSA->normal pass
ftree-copy-propCommon Report Var(flag_tree_copy_prop)Enable copy propagation on trees
ftree-copyrenameCommon Report Var(flag_tree_copyrename)Replace SSA temporaries with better names in copies
ftree-dceCommon Report Var(flag_tree_dce)Enable SSA dead code elimination optimization on trees
ftree-dominator-optsCommon Report Var(flag_tree_dom)Enable dominator optimizations
ftree-dseCommon Report Var(flag_tree_dse)Enable dead store elimination
ftree-freCommon Report Var(flag_tree_fre)Enable Full Redundancy Elimination (FRE) on trees
ftree-loop-imCommon Report Var(flag_tree_loop_im) Init(1)Enable loop invariant motion on trees
ftree-loop-ivcanonCommon Report Var(flag_tree_loop_ivcanon) Init(1)Create canonical induction variables in loops
ftree-loop-linearCommon Report Var(flag_tree_loop_linear)Enable linear loop transforms on trees
ftree-loop-optimizeCommon Report Var(flag_tree_loop_optimize) Init(1)Enable loop optimizations on tree level
ftree-lrsCommon Report Var(flag_tree_live_range_split)Perform live range splitting during the SSA->normal pass
ftree-preCommon Report Var(flag_tree_pre)Enable SSA-PRE optimization on trees
ftree-saliasCommon Report Var(flag_tree_salias)Perform structural alias analysis
ftree-sinkCommon Report Var(flag_tree_sink)Enable SSA code sinking on trees
ftree-sraCommon Report Var(flag_tree_sra)Perform scalar replacement of aggregates
ftree-store-ccpCommon Report Var(flag_tree_store_ccp)Enable SSA-CCP optimization for stores and loads
ftree-store-copy-propCommon Report Var(flag_tree_store_copy_prop)Enable copy propagation for stores and loads
ftree-terCommon Report Var(flag_tree_ter)Replace temporary expressions in the SSA->normal pass
ftree-vect-loop-versionCommon Report Var(flag_tree_vect_loop_version) Init(1)Enable loop versioning when doing loop vectorization on trees
ftree-vectorizeCommon Report Var(flag_tree_vectorize)Enable loop vectorization on trees
ftree-vectorizer-verbose=Common RejectNegative Joined-ftree-vectorizer-verbose= Set the verbosity level of the vectorizer
ftree-vrpCommon Report Var(flag_tree_vrp) Init(0)Perform Value Range Propagation on trees
funit-at-a-timeCommon Report Var(flag_unit_at_a_time)Compile whole compilation unit at a time
funroll-all-loopsCommon Report Var(flag_unroll_all_loops)Perform loop unrolling for all loops
funroll-loopsCommon Report Var(flag_unroll_loops)Perform loop unrolling when iteration count is known
funsafe-loop-optimizationsCommon Report Var(flag_unsafe_loop_optimizations)Allow loop optimizations to assume that the loops behave in normal way
funsafe-math-optimizationsCommon Report Var(flag_unsafe_math_optimizations)Allow math optimizations that may violate IEEE or ISO standards
funsigned-bitfieldsC ObjC C++ ObjC++When \"signed\" or \"unsigned\" is not given make the bitfield unsigned
funsigned-charC ObjC C++ ObjC++Make \"char\" unsigned by default
funswitch-loopsCommon Report Var(flag_unswitch_loops)Perform loop unswitching
funwind-tablesCommon Report Var(flag_unwind_tables)Just generate unwind tables for exception handling
fuse-cxa-atexitC++ ObjC++Use __cxa_atexit to register destructors
fvar-trackingCommon Report Var(flag_var_tracking) VarExistsPerform variable tracking
fvariable-expansion-in-unrollerCommon Report Var(flag_variable_expansion_in_unroller) Apply variable expansion when loops are unrolled
fverbose-asmCommon Report Var(flag_verbose_asm)Add extra commentary to assembler output
fvisibility-inlines-hiddenC++ ObjC++Marks all inlined methods as having hidden visibility
fvisibility=Common Joined RejectNegative-fvisibility=[default|internal|hidden|protected] Set the default symbol visibility
fvptCommon Report Var(flag_value_profile_transformations)Use expression value profiles in optimizations
fvtable-gcC++ ObjC++Discard unused virtual functions
fvtable-thunksC++ ObjC++Implement vtables using thunks
fweakC++ ObjC++Emit common-like symbols as weak symbols
fwebCommon Report Var(flag_web) Init(2)Construct webs and split unrelated uses of single variable
fwhole-programCommon Report Var(flag_whole_program) Init(0)Perform whole program optimizations
fwide-exec-charset=C ObjC C++ ObjC++ Joined RejectNegative-fwide-exec-charset= Convert all wide strings and character constants to character set
fworking-directoryC ObjC C++ ObjC++Generate a #line directive pointing at the current working directory
fwrapvCommon Report Var(flag_wrapv)Assume signed arithmetic overflow wraps around
fxrefC++ ObjC++Emit cross referencing information
fzero-initialized-in-bssCommon Report Var(flag_zero_initialized_in_bss) Init(1)Put zero initialized data in the bss section
fzero-linkObjC ObjC++Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode
gCommon JoinedOrMissingGenerate debug information in default format
gcoffCommon JoinedOrMissingGenerate debug information in COFF format
gdwarf-2Common JoinedOrMissingGenerate debug information in DWARF v2 format
gen-declsObjC ObjC++Dump declarations to a .decl file
ggdbCommon JoinedOrMissingGenerate debug information in default extended format
gstabsCommon JoinedOrMissingGenerate debug information in STABS format
gstabs+Common JoinedOrMissingGenerate debug information in extended STABS format
gvmsCommon JoinedOrMissingGenerate debug information in VMS format
gxcoffCommon JoinedOrMissingGenerate debug information in XCOFF format
gxcoff+Common JoinedOrMissingGenerate debug information in extended XCOFF format
idirafterC ObjC C++ ObjC++ Joined Separate-idirafter Add to the end of the system include path
imacrosC ObjC C++ ObjC++ Joined Separate-imacros Accept definition of macros in
includeC ObjC C++ ObjC++ Joined Separate-include Include the contents of before other files
iprefixC ObjC C++ ObjC++ Joined Separate-iprefix Specify as a prefix for next two options
iquoteC ObjC C++ ObjC++ Joined Separate-iquote Add to the end of the quote include path
isysrootC ObjC C++ ObjC++ Joined Separate-isysroot Set to be the system root directory
isystemC ObjC C++ ObjC++ Joined Separate-isystem Add to the start of the system include path
iwithprefixC ObjC C++ ObjC++ Joined Separate-iwithprefix Add to the end of the system include path
iwithprefixbeforeC ObjC C++ ObjC++ Joined Separate-iwithprefixbefore Add to the end of the main include path
lang-asmC Undocumented
lang-fortranC Undocumented
lang-objcC ObjC C++ ObjC++ Undocumented
m128bit-long-doubleTarget RejectNegative Report Mask(128BIT_LONG_DOUBLE)sizeof(long double) is 16
m32Target RejectNegative Report InverseMask(64BIT)Generate 32bit i386 code
m386Target RejectNegative Undocumented
m3dnowTarget Report Mask(3DNOW)Support 3DNow! built-in functions
m486Target RejectNegative Undocumented
m64Target RejectNegative Report Mask(64BIT)Generate 64bit x86-64 code
m80387Target Report Mask(80387)Use hardware fp
m96bit-long-doubleTarget RejectNegative Report InverseMask(128BIT_LONG_DOUBLE)sizeof(long double) is 12
maccumulate-outgoing-argsTarget Report Mask(ACCUMULATE_OUTGOING_ARGS)Reserve space for outgoing arguments in the function prologue
malign-doubleTarget Report Mask(ALIGN_DOUBLE)Align some doubles on dword boundary
malign-functions=Target RejectNegative Joined Var(ix86_align_funcs_string)Function starts are aligned to this power of 2
malign-jumps=Target RejectNegative Joined Var(ix86_align_jumps_string)Jump targets are aligned to this power of 2
malign-loops=Target RejectNegative Joined Var(ix86_align_loops_string)Loop code aligned to this power of 2
malign-stringopsTarget RejectNegative Report InverseMask(NO_ALIGN_STRINGOPS, ALIGN_STRINGOPS)Align destination of the string operations
march=Target RejectNegative Joined Var(ix86_arch_string)Generate code for given CPU
masm=Target RejectNegative Joined Var(ix86_asm_string)Use given assembler dialect
mbranch-cost=Target RejectNegative Joined Var(ix86_branch_cost_string)Branches are this expensive (1-5, arbitrary units)
mcmodel=Target RejectNegative Joined Var(ix86_cmodel_string)Use given x86-64 code model
mdebug-addrTarget RejectNegative Var(TARGET_DEBUG_ADDR) Undocumented
mdebug-argTarget RejectNegative Var(TARGET_DEBUG_ARG) Undocumented
mfancy-math-387Target RejectNegative Report InverseMask(NO_FANCY_MATH_387, USE_FANCY_MATH_387)Generate sin, cos, sqrt for FPU
mfix-and-continueTarget Report Var(darwin_fix_and_continue)Generate code suitable for fast turn around debugging
mfp-ret-in-387Target Report Mask(FLOAT_RETURNS)Return values of functions in FPU registers
mfpmath=Target RejectNegative Joined Var(ix86_fpmath_string)Generate floating point mathematics using given instruction set
mhard-floatTarget RejectNegative Mask(80387) MaskExistsUse hardware fp
mieee-fpTarget Report Mask(IEEE_FP)Use IEEE math for fp comparisons
minline-all-stringopsTarget Report Mask(INLINE_ALL_STRINGOPS)Inline all known string operations
mintel-syntaxTarget Undocumented
mlarge-data-threshold=Target RejectNegative Joined Var(ix86_section_threshold_string)Data greater than given threshold will go into .ldata section in x86-64 medium model
mmacosx-version-min=Target Joined Report Var(darwin_macosx_version_min)The earliest MacOS X version on which this program will run
mmmxTarget Report Mask(MMX)Support MMX built-in functions
mms-bitfieldsTarget Report Mask(MS_BITFIELD_LAYOUT)Use native (MS) bitfield layout
mno-align-stringopsTarget RejectNegative Report Mask(NO_ALIGN_STRINGOPS) Undocumented
mno-fancy-math-387Target RejectNegative Report Mask(NO_FANCY_MATH_387) Undocumented
mno-push-argsTarget RejectNegative Report Mask(NO_PUSH_ARGS) Undocumented
mno-red-zoneTarget RejectNegative Report Mask(NO_RED_ZONE) Undocumented
momit-leaf-frame-pointerTarget Report Mask(OMIT_LEAF_FRAME_POINTER)Omit the frame pointer in leaf functions
mone-byte-boolTarget RejectNegative Report Var(darwin_one_byte_bool)Set sizeof(bool) to 1
mpentiumTarget RejectNegative Undocumented
mpentiumproTarget RejectNegative Undocumented
mpreferred-stack-boundary=Target RejectNegative Joined Var(ix86_preferred_stack_boundary_string)Attempt to keep stack aligned to this power of 2
mpush-argsTarget Report InverseMask(NO_PUSH_ARGS, PUSH_ARGS)Use push instructions to save outgoing arguments
mred-zoneTarget RejectNegative Report InverseMask(NO_RED_ZONE, RED_ZONE)Use red-zone in the x86-64 code
mregparm=Target RejectNegative Joined Var(ix86_regparm_string)Number of registers used to pass integer arguments
mrtdTarget Report Mask(RTD)Alternate calling convention
msoft-floatTarget InverseMask(80387)Do not use hardware fp
msseTarget Report Mask(SSE)Support MMX and SSE built-in functions and code generation
msse2Target Report Mask(SSE2)Support MMX, SSE and SSE2 built-in functions and code generation
msse3Target Report Mask(SSE3)Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation
msseregparmTarget RejectNegative Mask(SSEREGPARM)Use SSE register passing conventions for SF and DF mode
mstack-arg-probeTarget Report Mask(STACK_PROBE)Enable stack probing
msvr3-shlibTarget Report Mask(SVR3_SHLIB)Uninitialized locals in .bss
mtls-dialect=Target RejectNegative Joined Var(ix86_tls_dialect_string)Use given thread-local storage dialect
mtls-direct-seg-refsTarget Report Mask(TLS_DIRECT_SEG_REFS)Use direct references against %gs when accessing tls data
mtune=Target RejectNegative Joined Var(ix86_tune_string)Schedule code for given CPU
nostdincC ObjC C++ ObjC++Do not search standard system include directories (those specified with -isystem will still be used)
nostdinc++C++ ObjC++Do not search standard system include directories for C++
oC ObjC C++ ObjC++ Joined Separate
oCommon Joined Separate-o Place output into
pCommon Var(profile_flag)Enable function profiling
pedanticC ObjC C++ ObjC++
pedanticCommon Var(pedantic)Issue warnings needed for strict compliance to the standard
pedantic-errorsC ObjC C++ ObjC++
pedantic-errorsCommonLike -pedantic but issue them as errors
print-objc-runtime-infoObjC ObjC++Generate C header of platform-specific features
print-pch-checksumC ObjC C++ ObjC++Print a checksum of the executable for PCH validity checking, and stop
quietCommon Var(quiet_flag)Do not display functions compiled or elapsed time
remapC ObjC C++ ObjC++Remap file names when including files
std=c++98C++ ObjC++Conform to the ISO 1998 C++ standard
std=c89C ObjCConform to the ISO 1990 C standard
std=c99C ObjCConform to the ISO 1999 C standard
std=c9xC ObjCDeprecated in favor of -std=c99
std=gnu++98C++ ObjC++Conform to the ISO 1998 C++ standard with GNU extensions
std=gnu89C ObjCConform to the ISO 1990 C standard with GNU extensions
std=gnu99C ObjCConform to the ISO 1999 C standard with GNU extensions
std=gnu9xC ObjCDeprecated in favor of -std=gnu99
std=iso9899:1990C ObjCConform to the ISO 1990 C standard
std=iso9899:199409C ObjCConform to the ISO 1990 C standard as amended in 1994
std=iso9899:1999C ObjCConform to the ISO 1999 C standard
std=iso9899:199xC ObjCDeprecated in favor of -std=iso9899:1999
traditional-cppC ObjC C++ ObjC++Enable traditional preprocessing
trigraphsC ObjC C++ ObjC++-trigraphs Support ISO C trigraphs
undefC ObjC C++ ObjC++Do not predefine system-specific and GCC-specific macros
vC ObjC C++ ObjC++Enable verbose output
versionCommon Var(version_flag)Display the compiler's version
wC ObjC C++ ObjC++
wCommon Var(inhibit_warnings)Suppress warnings