-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