###Driver
-CLASSPATHJava Separate Alias(fclasspath=)
-all-warningsAda AdaWhy AdaSCIL Alias(Wall)
-all-warningsC ObjC C++ ObjC++ Warning Alias(Wall)
-all-warningsFortran Alias(Wall)
-all-warningsJava Alias(Wall)
-ansiC ObjC C++ ObjC++ Alias(ansi)
-assembleDriver Alias(S)
-assertC ObjC C++ ObjC++ Separate Alias(A) MissingArgError(assertion missing after %qs)
-assertFortran Separate Alias(A)
-assert=C ObjC C++ ObjC++ Joined Alias(A) MissingArgError(assertion missing after %qs)
-assert=Fortran Joined Alias(A)
-bootclasspathJava Separate Alias(fbootclasspath=)
-classpathJava Separate Alias(fclasspath=)
-commentsC ObjC C++ ObjC++ Alias(C)
-commentsFortran Alias(C)
-comments-in-macrosC ObjC C++ ObjC++ Alias(CC)
-comments-in-macrosFortran Alias(CC)
-compileDriver Alias(c)
-coverageDriver Alias(coverage)
-debugCommon Alias(g)
-define-macroC ObjC C++ ObjC++ Separate Alias(D) MissingArgError(macro name missing after %qs)
-define-macroFortran Separate Alias(D)
-define-macro=C ObjC C++ ObjC++ Joined Alias(D) MissingArgError(macro name missing after %qs)
-define-macro=Fortran Joined Alias(D)
-dependenciesC ObjC C++ ObjC++ Alias(M)
-dependenciesFortran Alias(M)
-dependenciesJava Alias(M)
-dumpC ObjC C++ ObjC++ Separate Alias(d)
-dumpCommon Separate Alias(d)
-dumpFortran Separate Alias(d)
-dump=C ObjC C++ ObjC++ Joined Alias(d)
-dump=Common Joined Alias(d)
-dump=Fortran Joined Alias(d)
-dumpbaseCommon Separate Alias(dumpbase)
-dumpdirCommon Separate Alias(dumpdir)
-encodingJava Separate Alias(fencoding=)
-entryDriver Separate Alias(e)
-entry=Driver Joined Alias(e)
-extdirsJava Separate Alias(fextdirs=)
-extra-warningsCommon Warning Alias(Wextra)
-for-assemblerDriver Separate Alias(Xassembler)
-for-assembler=Driver JoinedOrMissing Alias(Xassembler)
-for-linkerDriver Separate Alias(Xlinker)
-for-linker=Driver JoinedOrMissing Alias(Xlinker)
-force-linkDriver Separate Alias(u)
-force-link=Driver Joined Alias(u)
-helpCommon Driver Var(help_flag)Display this information.
-help=Common Driver Report Joined--help=<class>	Display descriptions of a specific class of options.  <class> is one or more of optimizers, target, warnings, undocumented, params.
-imacrosC ObjC C++ ObjC++ Separate Alias(imacros) MissingArgError(missing filename after %qs)
-imacros=C ObjC C++ ObjC++ Joined Alias(imacros) MissingArgError(missing filename after %qs)
-includeC ObjC C++ ObjC++ Separate Alias(include) MissingArgError(missing filename after %qs)
-include-barrierAda AdaWhy AdaSCIL Alias(I, -)
-include-barrierC ObjC C++ ObjC++ Alias(I, -)
-include-barrierFortran Alias(I, -)
-include-directoryAda AdaWhy AdaSCIL Separate Alias(I)
-include-directoryC ObjC C++ ObjC++ Separate Alias(I) MissingArgError(missing path after %qs)
-include-directoryFortran Separate Alias(I)
-include-directoryJava Separate Alias(I)
-include-directory-afterC ObjC C++ ObjC++ Separate Alias(idirafter) MissingArgError(missing path after %qs)
-include-directory-afterFortran Separate Alias(idirafter)
-include-directory-after=C ObjC C++ ObjC++ Joined Alias(idirafter) MissingArgError(missing path after %qs)
-include-directory-after=Fortran Joined Alias(idirafter)
-include-directory=Ada AdaWhy AdaSCIL Joined Alias(I)
-include-directory=C ObjC C++ ObjC++ Joined Alias(I) MissingArgError(missing path after %qs)
-include-directory=Fortran Joined Alias(I)
-include-directory=Java Joined Alias(I)
-include-prefixC ObjC C++ ObjC++ Separate Alias(iprefix)
-include-prefixFortran Separate Alias(iprefix)
-include-prefix=C ObjC C++ ObjC++ JoinedOrMissing Alias(iprefix)
-include-prefix=Fortran JoinedOrMissing Alias(iprefix)
-include-with-prefixC ObjC C++ ObjC++ Separate Alias(iwithprefix)
-include-with-prefix-afterC ObjC C++ ObjC++ Separate Alias(iwithprefix)
-include-with-prefix-after=C ObjC C++ ObjC++ JoinedOrMissing Alias(iwithprefix)
-include-with-prefix-beforeC ObjC C++ ObjC++ Separate Alias(iwithprefixbefore)
-include-with-prefix-before=C ObjC C++ ObjC++ JoinedOrMissing Alias(iwithprefixbefore)
-include-with-prefix=C ObjC C++ ObjC++ JoinedOrMissing Alias(iwithprefix)
-include=C ObjC C++ ObjC++ Joined Alias(include) MissingArgError(missing filename after %qs)
-languageDriver Separate Alias(x)
-language=Driver Joined Alias(x)
-library-directoryDriver Separate Alias(L)
-library-directory=Driver Joined Alias(L)
-no-canonical-prefixesDriver Alias(no-canonical-prefixes)
-no-integrated-cppDriver Alias(no-integrated-cpp)
-no-line-commandsC ObjC C++ ObjC++ Alias(P)
-no-line-commandsFortran Alias(P)
-no-standard-includesAda AdaWhy AdaSCIL Alias(nostdinc)
-no-standard-includesC ObjC C++ ObjC++ Alias(nostdinc)
-no-standard-includesFortran Alias(nostdinc)
-no-standard-librariesAda AdaWhy AdaSCIL Alias(nostdlib)
-no-standard-librariesDriver Alias(nostdlib)
-no-sysroot-suffixDriver Var(no_sysroot_suffix)
-no-warningsC ObjC C++ ObjC++ Alias(w)
-no-warningsCommon Alias(w)
-optimizeCommon Alias(O)
-outputC ObjC C++ ObjC++ Separate Alias(o)
-outputCommon Driver Separate Alias(o) MissingArgError(missing filename after %qs)
-outputFortran Separate Alias(o)
-output-class-directoryJava Separate Alias(foutput-class-dir=)
-output-class-directory=Java Joined Alias(foutput-class-dir=)
-output-pch=C ObjC C++ ObjC++ Joined Separate
-output=C ObjC C++ ObjC++ Joined Alias(o)
-output=Common Driver Joined Alias(o) MissingArgError(missing filename after %qs)
-output=Fortran Joined Alias(o)
-paramCommon Separate--param <param>=<value>	Set parameter <param> to value.  See below for a complete list of parameters.
-param=Common Joined Alias(-param)
-pass-exit-codesDriver Alias(pass-exit-codes)
-pedanticC ObjC C++ ObjC++ Alias(pedantic)
-pedanticCommon Alias(Wpedantic)
-pedantic-errorsCommon Alias(pedantic-errors)
-pieDriver Alias(pie)
-pipeDriver Alias(pipe)
-prefixDriver Separate Alias(B)
-prefix=Driver JoinedOrMissing Alias(B)
-preprocessC ObjC C++ ObjC++ Undocumented Alias(E)
-preprocessDriver Alias(E)
-preprocessFortran Undocumented Alias(E)
-print-file-nameDriver Separate Alias(print-file-name=)
-print-file-name=Driver JoinedOrMissing Alias(print-file-name=)
-print-libgcc-file-nameDriver Alias(print-libgcc-file-name)
-print-missing-file-dependenciesC ObjC C++ ObjC++ Alias(MG)
-print-missing-file-dependenciesFortran Alias(MG)
-print-multi-directoryDriver Alias(print-multi-directory)
-print-multi-libDriver Alias(print-multi-lib)
-print-multi-os-directoryDriver Alias(print-multi-os-directory)
-print-multiarchDriver Alias(print-multiarch)
-print-prog-nameDriver Separate Alias(print-prog-name=)
-print-prog-name=Driver JoinedOrMissing Alias(print-prog-name=)
-print-search-dirsDriver Alias(print-search-dirs)
-print-sysrootDriver Alias(print-sysroot)
-print-sysroot-headers-suffixDriver Alias(print-sysroot-headers-suffix)
-profileCommon Alias(p)
-resourceJava Separate Alias(fcompile-resource=)
-resource=Java Joined Alias(fcompile-resource=)
-save-tempsDriver Alias(save-temps)
-sharedDriver Alias(shared)
-specsDriver Separate Alias(specs=)
-specs=Driver Joined Alias(specs=)
-staticDriver Alias(static)
-symbolicDriver Alias(symbolic)
-sysrootDriver Separate Alias(-sysroot=)
-sysroot=Driver JoinedOrMissing
-target-helpCommon DriverAlias for --help=target.
-timeDriver Alias(time)
-trace-includesC ObjC C++ ObjC++ Alias(H)
-trace-includesFortran Alias(H)
-traditionalDriver Alias(traditional)
-traditional-cppC ObjC C++ ObjC++ Alias(traditional-cpp)
-trigraphsC ObjC C++ ObjC++ Alias(trigraphs)
-undefine-macroC ObjC C++ ObjC++ Separate Alias(U) MissingArgError(macro name missing after %qs)
-undefine-macroFortran Separate Alias(U)
-undefine-macro=C ObjC C++ ObjC++ Joined Alias(U) MissingArgError(macro name missing after %qs)
-undefine-macro=Fortran Joined Alias(U)
-user-dependenciesC ObjC C++ ObjC++ Alias(MM)
-user-dependenciesFortran Alias(MM)
-user-dependenciesJava Alias(MM)
-verboseCommon C ObjC C++ ObjC++ Alias(v)
-verboseDriver Alias(v)
-verboseFortran Alias(v)
-versionCommon Driver
-write-dependenciesC ObjC C++ ObjC++ NoDriverArg Separate Alias(MD) MissingArgError(missing filename after %qs)
-write-dependenciesFortran NoDriverArg Separate Alias(MD)
-write-user-dependenciesC ObjC C++ ObjC++ NoDriverArg Separate Alias(MMD) MissingArgError(missing filename after %qs)
-write-user-dependenciesFortran NoDriverArg Separate Alias(MMD)
AC ObjC C++ ObjC++ Joined Separate MissingArgError(assertion missing after %qs)-A<question>=<answer>	Assert the <answer> to <question>.  Putting '-' before <question> disables the <answer> to <question>.
AFortran Joined Separate
BDriver Joined Separate
CC ObjC C++ ObjC++Do not discard comments.
CDriver
CFortran
CCC ObjC C++ ObjC++Do not discard comments in macro expansions.
CCFortran
CLASSPATHJava Separate Alias(fclasspath=)
DC ObjC C++ ObjC++ Joined Separate MissingArgError(macro name missing after %qs)-D<macro>[=<val>]	Define a <macro> with <val> as its value.  If just <macro> is given, <val> is taken to be 1.
DDriver Joined Separate
DFortran Joined Separate
EC ObjC C++ ObjC++ Undocumented Var(flag_preprocess_only)
EDriver
EFortran Undocumented
EnumName(arm_abi_type) Type(enum arm_abi_type)Known ARM ABIs (for use with the -mabi= option):
EnumName(arm_arch) Type(int)Known ARM architectures (for use with the -march= option):
EnumName(arm_fp16_format_type) Type(enum arm_fp16_format_type)Known __fp16 formats (for use with the -mfp16-format= option):
EnumName(arm_fpu) Type(int)Known ARM FPUs (for use with the -mfpu= option):
EnumName(arm_tp_type) Type(enum arm_tp_type)Valid arguments to -mtp=:
EnumName(compressed_debug_sections) Type(int)
EnumName(cpp_normalize_level) Type(int) UnknownError(argument %qs to %<-Wnormalized%> not recognized)
EnumName(diagnostic_color_rule) Type(int)
EnumName(diagnostic_prefixing_rule) Type(int)
EnumName(dwarf_gnat_encodings) Type(int)
EnumName(excess_precision) Type(enum excess_precision) UnknownError(unknown excess precision style %qs)
EnumName(float_abi_type) Type(enum float_abi_type)Known floating-point ABIs (for use with the -mfloat-abi= option):
EnumName(fp_contract_mode) Type(enum fp_contract_mode) UnknownError(unknown floating point contraction style %qs)
EnumName(gfc_convert) Type(enum gfc_convert) UnknownError(Unrecognized option to endianess value: %qs)
EnumName(gfc_fcoarray) Type(enum gfc_fcoarray) UnknownError(Unrecognized option: %qs)
EnumName(gfc_init_local_real) Type(enum gfc_init_local_real) UnknownError(Unrecognized option to floating-point init value: %qs)
EnumName(ira_algorithm) Type(enum ira_algorithm) UnknownError(unknown IRA algorithm %qs)
EnumName(ira_region) Type(enum ira_region) UnknownError(unknown IRA region %qs)
EnumName(ivar_visibility) Type(enum ivar_visibility) UnknownError(unrecognized ivar visibility value %qs)
EnumName(lto_linker_output) Type(enum lto_linker_output) UnknownError(unknown linker output %qs)
EnumName(lto_partition_model) Type(enum lto_partition_model) UnknownError(unknown LTO partitioning model %qs)
EnumName(offload_abi) Type(enum offload_abi) UnknownError(unknown offload ABI %qs)
EnumName(processor_type) Type(enum processor_type)Known ARM CPUs (for use with the -mcpu= and -mtune= options):
EnumName(reorder_blocks_algorithm) Type(enum reorder_blocks_algorithm) UnknownError(unknown basic block reordering algorithm %qs)
EnumName(sso_struct) Type(enum scalar_storage_order_kind) UnknownError(unrecognized scalar storage order value %qs)
EnumName(stack_reuse_level) Type(enum stack_reuse_level) UnknownError(unknown Stack Reuse Level %qs)
EnumName(symbol_visibility) Type(enum symbol_visibility) UnknownError(unrecognized visibility value %qs)
EnumName(tls_model) Type(enum tls_model) UnknownError(unknown TLS model %qs)
EnumName(tls_type) Type(enum arm_tls_type)TLS dialect to use:
EnumName(vect_cost_model) Type(enum vect_cost_model) UnknownError(unknown vectorizer cost model %qs)
EnumName(vtv_priority) Type(enum vtv_priority) UnknownError(unknown vtable verify initialization priority %qs)
EnumValueEnum(arm_abi_type) String(aapcs) Value(ARM_ABI_AAPCS)
EnumValueEnum(arm_abi_type) String(aapcs-linux) Value(ARM_ABI_AAPCS_LINUX)
EnumValueEnum(arm_abi_type) String(apcs-gnu) Value(ARM_ABI_APCS)
EnumValueEnum(arm_abi_type) String(atpcs) Value(ARM_ABI_ATPCS)
EnumValueEnum(arm_abi_type) String(iwmmxt) Value(ARM_ABI_IWMMXT)
EnumValueEnum(arm_arch) String(armv2) Value(0)
EnumValueEnum(arm_arch) String(armv2a) Value(1)
EnumValueEnum(arm_arch) String(armv3) Value(2)
EnumValueEnum(arm_arch) String(armv3m) Value(3)
EnumValueEnum(arm_arch) String(armv4) Value(4)
EnumValueEnum(arm_arch) String(armv4t) Value(5)
EnumValueEnum(arm_arch) String(armv5) Value(6)
EnumValueEnum(arm_arch) String(armv5e) Value(8)
EnumValueEnum(arm_arch) String(armv5t) Value(7)
EnumValueEnum(arm_arch) String(armv5te) Value(9)
EnumValueEnum(arm_arch) String(armv6) Value(10)
EnumValueEnum(arm_arch) String(armv6-m) Value(17)
EnumValueEnum(arm_arch) String(armv6j) Value(11)
EnumValueEnum(arm_arch) String(armv6k) Value(12)
EnumValueEnum(arm_arch) String(armv6kz) Value(14)
EnumValueEnum(arm_arch) String(armv6s-m) Value(18)
EnumValueEnum(arm_arch) String(armv6t2) Value(16)
EnumValueEnum(arm_arch) String(armv6z) Value(13)
EnumValueEnum(arm_arch) String(armv6zk) Value(15)
EnumValueEnum(arm_arch) String(armv7) Value(19)
EnumValueEnum(arm_arch) String(armv7-a) Value(20)
EnumValueEnum(arm_arch) String(armv7-m) Value(23)
EnumValueEnum(arm_arch) String(armv7-r) Value(22)
EnumValueEnum(arm_arch) String(armv7e-m) Value(24)
EnumValueEnum(arm_arch) String(armv7ve) Value(21)
EnumValueEnum(arm_arch) String(armv8-a) Value(25)
EnumValueEnum(arm_arch) String(armv8-a+crc) Value(26)
EnumValueEnum(arm_arch) String(armv8-m.base) Value(31)
EnumValueEnum(arm_arch) String(armv8-m.main) Value(32)
EnumValueEnum(arm_arch) String(armv8-m.main+dsp) Value(33)
EnumValueEnum(arm_arch) String(armv8.1-a) Value(27)
EnumValueEnum(arm_arch) String(armv8.1-a+crc) Value(28)
EnumValueEnum(arm_arch) String(armv8.2-a) Value(29)
EnumValueEnum(arm_arch) String(armv8.2-a+fp16) Value(30)
EnumValueEnum(arm_arch) String(iwmmxt) Value(34)
EnumValueEnum(arm_arch) String(iwmmxt2) Value(35)
EnumValueEnum(arm_arch) String(native) Value(-1) DriverOnly
EnumValueEnum(arm_fp16_format_type) String(alternative) Value(ARM_FP16_FORMAT_ALTERNATIVE)
EnumValueEnum(arm_fp16_format_type) String(ieee) Value(ARM_FP16_FORMAT_IEEE)
EnumValueEnum(arm_fp16_format_type) String(none) Value(ARM_FP16_FORMAT_NONE)
EnumValueEnum(arm_fpu) String(crypto-neon-fp-armv8) Value(17)
EnumValueEnum(arm_fpu) String(fp-armv8) Value(15)
EnumValueEnum(arm_fpu) String(fpv4-sp-d16) Value(11)
EnumValueEnum(arm_fpu) String(fpv5-d16) Value(13)
EnumValueEnum(arm_fpu) String(fpv5-sp-d16) Value(12)
EnumValueEnum(arm_fpu) String(neon) Value(7)
EnumValueEnum(arm_fpu) String(neon-fp-armv8) Value(16)
EnumValueEnum(arm_fpu) String(neon-fp16) Value(8)
EnumValueEnum(arm_fpu) String(neon-vfpv4) Value(14)
EnumValueEnum(arm_fpu) String(vfp) Value(0)
EnumValueEnum(arm_fpu) String(vfp3) Value(18)
EnumValueEnum(arm_fpu) String(vfpv3) Value(1)
EnumValueEnum(arm_fpu) String(vfpv3-d16) Value(3)
EnumValueEnum(arm_fpu) String(vfpv3-d16-fp16) Value(4)
EnumValueEnum(arm_fpu) String(vfpv3-fp16) Value(2)
EnumValueEnum(arm_fpu) String(vfpv3xd) Value(5)
EnumValueEnum(arm_fpu) String(vfpv3xd-fp16) Value(6)
EnumValueEnum(arm_fpu) String(vfpv4) Value(9)
EnumValueEnum(arm_fpu) String(vfpv4-d16) Value(10)
EnumValueEnum(arm_tp_type) String(auto) Value(TP_AUTO)
EnumValueEnum(arm_tp_type) String(cp15) Value(TP_CP15)
EnumValueEnum(arm_tp_type) String(soft) Value(TP_SOFT)
EnumValueEnum(compressed_debug_sections) String(none) Value(0)
EnumValueEnum(compressed_debug_sections) String(zlib) Value(1)
EnumValueEnum(compressed_debug_sections) String(zlib-gnu) Value(2)
EnumValueEnum(cpp_normalize_level) String(id) Value(normalized_identifier_C)
EnumValueEnum(cpp_normalize_level) String(nfc) Value(normalized_C)
EnumValueEnum(cpp_normalize_level) String(nfkc) Value(normalized_KC)
EnumValueEnum(cpp_normalize_level) String(none) Value(normalized_none)
EnumValueEnum(diagnostic_color_rule) String(always) Value(DIAGNOSTICS_COLOR_YES)
EnumValueEnum(diagnostic_color_rule) String(auto) Value(DIAGNOSTICS_COLOR_AUTO)
EnumValueEnum(diagnostic_color_rule) String(never) Value(DIAGNOSTICS_COLOR_NO)
EnumValueEnum(diagnostic_prefixing_rule) String(every-line) Value(DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE)
EnumValueEnum(diagnostic_prefixing_rule) String(once) Value(DIAGNOSTICS_SHOW_PREFIX_ONCE)
EnumValueEnum(dwarf_gnat_encodings) String(all) Value(DWARF_GNAT_ENCODINGS_ALL)
EnumValueEnum(dwarf_gnat_encodings) String(gdb) Value(DWARF_GNAT_ENCODINGS_GDB)
EnumValueEnum(dwarf_gnat_encodings) String(minimal) Value(DWARF_GNAT_ENCODINGS_MINIMAL)
EnumValueEnum(excess_precision) String(fast) Value(EXCESS_PRECISION_FAST)
EnumValueEnum(excess_precision) String(standard) Value(EXCESS_PRECISION_STANDARD)
EnumValueEnum(float_abi_type) String(hard) Value(ARM_FLOAT_ABI_HARD)
EnumValueEnum(float_abi_type) String(soft) Value(ARM_FLOAT_ABI_SOFT)
EnumValueEnum(float_abi_type) String(softfp) Value(ARM_FLOAT_ABI_SOFTFP)
EnumValueEnum(fp_contract_mode) String(fast) Value(FP_CONTRACT_FAST)
EnumValueEnum(fp_contract_mode) String(off) Value(FP_CONTRACT_OFF)
EnumValueEnum(fp_contract_mode) String(on) Value(FP_CONTRACT_OFF)
EnumValueEnum(gfc_convert) String(big-endian) Value(GFC_FLAG_CONVERT_BIG)
EnumValueEnum(gfc_convert) String(little-endian) Value(GFC_FLAG_CONVERT_LITTLE)
EnumValueEnum(gfc_convert) String(native) Value(GFC_FLAG_CONVERT_NATIVE)
EnumValueEnum(gfc_convert) String(swap) Value(GFC_FLAG_CONVERT_SWAP)
EnumValueEnum(gfc_fcoarray) String(lib) Value(GFC_FCOARRAY_LIB)
EnumValueEnum(gfc_fcoarray) String(none) Value(GFC_FCOARRAY_NONE)
EnumValueEnum(gfc_fcoarray) String(single) Value(GFC_FCOARRAY_SINGLE)
EnumValueEnum(gfc_init_local_real) String(-inf) Value(GFC_INIT_REAL_NEG_INF)
EnumValueEnum(gfc_init_local_real) String(inf) Value(GFC_INIT_REAL_INF)
EnumValueEnum(gfc_init_local_real) String(nan) Value(GFC_INIT_REAL_NAN)
EnumValueEnum(gfc_init_local_real) String(snan) Value(GFC_INIT_REAL_SNAN)
EnumValueEnum(gfc_init_local_real) String(zero) Value(GFC_INIT_REAL_ZERO)
EnumValueEnum(ira_algorithm) String(CB) Value(IRA_ALGORITHM_CB)
EnumValueEnum(ira_algorithm) String(priority) Value(IRA_ALGORITHM_PRIORITY)
EnumValueEnum(ira_region) String(all) Value(IRA_REGION_ALL)
EnumValueEnum(ira_region) String(mixed) Value(IRA_REGION_MIXED)
EnumValueEnum(ira_region) String(one) Value(IRA_REGION_ONE)
EnumValueEnum(ivar_visibility) String(package) Value(IVAR_VISIBILITY_PACKAGE)
EnumValueEnum(ivar_visibility) String(private) Value(IVAR_VISIBILITY_PRIVATE)
EnumValueEnum(ivar_visibility) String(protected) Value(IVAR_VISIBILITY_PROTECTED)
EnumValueEnum(ivar_visibility) String(public) Value(IVAR_VISIBILITY_PUBLIC)
EnumValueEnum(lto_linker_output) String(dyn) Value(LTO_LINKER_OUTPUT_DYN)
EnumValueEnum(lto_linker_output) String(exec) Value(LTO_LINKER_OUTPUT_EXEC)
EnumValueEnum(lto_linker_output) String(pie) Value(LTO_LINKER_OUTPUT_PIE)
EnumValueEnum(lto_linker_output) String(rel) Value(LTO_LINKER_OUTPUT_REL)
EnumValueEnum(lto_linker_output) String(unknown) Value(LTO_LINKER_OUTPUT_UNKNOWN)
EnumValueEnum(lto_partition_model) String(1to1) Value(LTO_PARTITION_1TO1)
EnumValueEnum(lto_partition_model) String(balanced) Value(LTO_PARTITION_BALANCED)
EnumValueEnum(lto_partition_model) String(max) Value(LTO_PARTITION_MAX)
EnumValueEnum(lto_partition_model) String(none) Value(LTO_PARTITION_NONE)
EnumValueEnum(lto_partition_model) String(one) Value(LTO_PARTITION_ONE)
EnumValueEnum(offload_abi) String(ilp32) Value(OFFLOAD_ABI_ILP32)
EnumValueEnum(offload_abi) String(lp64) Value(OFFLOAD_ABI_LP64)
EnumValueEnum(processor_type) String(arm1020e) Value(arm1020e)
EnumValueEnum(processor_type) String(arm1020t) Value(arm1020t)
EnumValueEnum(processor_type) String(arm1022e) Value(arm1022e)
EnumValueEnum(processor_type) String(arm1026ej-s) Value(arm1026ejs)
EnumValueEnum(processor_type) String(arm10e) Value(arm10e)
EnumValueEnum(processor_type) String(arm10tdmi) Value(arm10tdmi)
EnumValueEnum(processor_type) String(arm1136j-s) Value(arm1136js)
EnumValueEnum(processor_type) String(arm1136jf-s) Value(arm1136jfs)
EnumValueEnum(processor_type) String(arm1156t2-s) Value(arm1156t2s)
EnumValueEnum(processor_type) String(arm1156t2f-s) Value(arm1156t2fs)
EnumValueEnum(processor_type) String(arm1176jz-s) Value(arm1176jzs)
EnumValueEnum(processor_type) String(arm1176jzf-s) Value(arm1176jzfs)
EnumValueEnum(processor_type) String(arm2) Value(arm2)
EnumValueEnum(processor_type) String(arm250) Value(arm250)
EnumValueEnum(processor_type) String(arm3) Value(arm3)
EnumValueEnum(processor_type) String(arm6) Value(arm6)
EnumValueEnum(processor_type) String(arm60) Value(arm60)
EnumValueEnum(processor_type) String(arm600) Value(arm600)
EnumValueEnum(processor_type) String(arm610) Value(arm610)
EnumValueEnum(processor_type) String(arm620) Value(arm620)
EnumValueEnum(processor_type) String(arm7) Value(arm7)
EnumValueEnum(processor_type) String(arm70) Value(arm70)
EnumValueEnum(processor_type) String(arm700) Value(arm700)
EnumValueEnum(processor_type) String(arm700i) Value(arm700i)
EnumValueEnum(processor_type) String(arm710) Value(arm710)
EnumValueEnum(processor_type) String(arm7100) Value(arm7100)
EnumValueEnum(processor_type) String(arm710c) Value(arm710c)
EnumValueEnum(processor_type) String(arm710t) Value(arm710t)
EnumValueEnum(processor_type) String(arm720) Value(arm720)
EnumValueEnum(processor_type) String(arm720t) Value(arm720t)
EnumValueEnum(processor_type) String(arm740t) Value(arm740t)
EnumValueEnum(processor_type) String(arm7500) Value(arm7500)
EnumValueEnum(processor_type) String(arm7500fe) Value(arm7500fe)
EnumValueEnum(processor_type) String(arm7d) Value(arm7d)
EnumValueEnum(processor_type) String(arm7di) Value(arm7di)
EnumValueEnum(processor_type) String(arm7dm) Value(arm7dm)
EnumValueEnum(processor_type) String(arm7dmi) Value(arm7dmi)
EnumValueEnum(processor_type) String(arm7m) Value(arm7m)
EnumValueEnum(processor_type) String(arm7tdmi) Value(arm7tdmi)
EnumValueEnum(processor_type) String(arm7tdmi-s) Value(arm7tdmis)
EnumValueEnum(processor_type) String(arm8) Value(arm8)
EnumValueEnum(processor_type) String(arm810) Value(arm810)
EnumValueEnum(processor_type) String(arm9) Value(arm9)
EnumValueEnum(processor_type) String(arm920) Value(arm920)
EnumValueEnum(processor_type) String(arm920t) Value(arm920t)
EnumValueEnum(processor_type) String(arm922t) Value(arm922t)
EnumValueEnum(processor_type) String(arm926ej-s) Value(arm926ejs)
EnumValueEnum(processor_type) String(arm940t) Value(arm940t)
EnumValueEnum(processor_type) String(arm946e-s) Value(arm946es)
EnumValueEnum(processor_type) String(arm966e-s) Value(arm966es)
EnumValueEnum(processor_type) String(arm968e-s) Value(arm968es)
EnumValueEnum(processor_type) String(arm9e) Value(arm9e)
EnumValueEnum(processor_type) String(arm9tdmi) Value(arm9tdmi)
EnumValueEnum(processor_type) String(cortex-a12) Value(cortexa12)
EnumValueEnum(processor_type) String(cortex-a15) Value(cortexa15)
EnumValueEnum(processor_type) String(cortex-a15.cortex-a7) Value(cortexa15cortexa7)
EnumValueEnum(processor_type) String(cortex-a17) Value(cortexa17)
EnumValueEnum(processor_type) String(cortex-a17.cortex-a7) Value(cortexa17cortexa7)
EnumValueEnum(processor_type) String(cortex-a32) Value(cortexa32)
EnumValueEnum(processor_type) String(cortex-a35) Value(cortexa35)
EnumValueEnum(processor_type) String(cortex-a5) Value(cortexa5)
EnumValueEnum(processor_type) String(cortex-a53) Value(cortexa53)
EnumValueEnum(processor_type) String(cortex-a57) Value(cortexa57)
EnumValueEnum(processor_type) String(cortex-a57.cortex-a53) Value(cortexa57cortexa53)
EnumValueEnum(processor_type) String(cortex-a7) Value(cortexa7)
EnumValueEnum(processor_type) String(cortex-a72) Value(cortexa72)
EnumValueEnum(processor_type) String(cortex-a72.cortex-a53) Value(cortexa72cortexa53)
EnumValueEnum(processor_type) String(cortex-a73) Value(cortexa73)
EnumValueEnum(processor_type) String(cortex-a73.cortex-a35) Value(cortexa73cortexa35)
EnumValueEnum(processor_type) String(cortex-a73.cortex-a53) Value(cortexa73cortexa53)
EnumValueEnum(processor_type) String(cortex-a8) Value(cortexa8)
EnumValueEnum(processor_type) String(cortex-a9) Value(cortexa9)
EnumValueEnum(processor_type) String(cortex-m0) Value(cortexm0)
EnumValueEnum(processor_type) String(cortex-m0.small-multiply) Value(cortexm0smallmultiply)
EnumValueEnum(processor_type) String(cortex-m0plus) Value(cortexm0plus)
EnumValueEnum(processor_type) String(cortex-m0plus.small-multiply) Value(cortexm0plussmallmultiply)
EnumValueEnum(processor_type) String(cortex-m1) Value(cortexm1)
EnumValueEnum(processor_type) String(cortex-m1.small-multiply) Value(cortexm1smallmultiply)
EnumValueEnum(processor_type) String(cortex-m3) Value(cortexm3)
EnumValueEnum(processor_type) String(cortex-m4) Value(cortexm4)
EnumValueEnum(processor_type) String(cortex-m7) Value(cortexm7)
EnumValueEnum(processor_type) String(cortex-r4) Value(cortexr4)
EnumValueEnum(processor_type) String(cortex-r4f) Value(cortexr4f)
EnumValueEnum(processor_type) String(cortex-r5) Value(cortexr5)
EnumValueEnum(processor_type) String(cortex-r7) Value(cortexr7)
EnumValueEnum(processor_type) String(cortex-r8) Value(cortexr8)
EnumValueEnum(processor_type) String(ep9312) Value(ep9312)
EnumValueEnum(processor_type) String(exynos-m1) Value(exynosm1)
EnumValueEnum(processor_type) String(fa526) Value(fa526)
EnumValueEnum(processor_type) String(fa606te) Value(fa606te)
EnumValueEnum(processor_type) String(fa626) Value(fa626)
EnumValueEnum(processor_type) String(fa626te) Value(fa626te)
EnumValueEnum(processor_type) String(fa726te) Value(fa726te)
EnumValueEnum(processor_type) String(fmp626) Value(fmp626)
EnumValueEnum(processor_type) String(generic-armv7-a) Value(genericv7a)
EnumValueEnum(processor_type) String(iwmmxt) Value(iwmmxt)
EnumValueEnum(processor_type) String(iwmmxt2) Value(iwmmxt2)
EnumValueEnum(processor_type) String(marvell-pj4) Value(marvell_pj4)
EnumValueEnum(processor_type) String(mpcore) Value(mpcore)
EnumValueEnum(processor_type) String(mpcorenovfp) Value(mpcorenovfp)
EnumValueEnum(processor_type) String(native) Value(-1) DriverOnly
EnumValueEnum(processor_type) String(qdf24xx) Value(qdf24xx)
EnumValueEnum(processor_type) String(strongarm) Value(strongarm)
EnumValueEnum(processor_type) String(strongarm110) Value(strongarm110)
EnumValueEnum(processor_type) String(strongarm1100) Value(strongarm1100)
EnumValueEnum(processor_type) String(strongarm1110) Value(strongarm1110)
EnumValueEnum(processor_type) String(xgene1) Value(xgene1)
EnumValueEnum(processor_type) String(xscale) Value(xscale)
EnumValueEnum(reorder_blocks_algorithm) String(simple) Value(REORDER_BLOCKS_ALGORITHM_SIMPLE)
EnumValueEnum(reorder_blocks_algorithm) String(stc) Value(REORDER_BLOCKS_ALGORITHM_STC)
EnumValueEnum(sso_struct) String(big-endian) Value(SSO_BIG_ENDIAN)
EnumValueEnum(sso_struct) String(little-endian) Value(SSO_LITTLE_ENDIAN)
EnumValueEnum(stack_reuse_level) String(all) Value(SR_ALL)
EnumValueEnum(stack_reuse_level) String(named_vars) Value(SR_NAMED_VARS)
EnumValueEnum(stack_reuse_level) String(none) Value(SR_NONE)
EnumValueEnum(symbol_visibility) String(default) Value(VISIBILITY_DEFAULT)
EnumValueEnum(symbol_visibility) String(hidden) Value(VISIBILITY_HIDDEN)
EnumValueEnum(symbol_visibility) String(internal) Value(VISIBILITY_INTERNAL)
EnumValueEnum(symbol_visibility) String(protected) Value(VISIBILITY_PROTECTED)
EnumValueEnum(tls_model) String(global-dynamic) Value(TLS_MODEL_GLOBAL_DYNAMIC)
EnumValueEnum(tls_model) String(initial-exec) Value(TLS_MODEL_INITIAL_EXEC)
EnumValueEnum(tls_model) String(local-dynamic) Value(TLS_MODEL_LOCAL_DYNAMIC)
EnumValueEnum(tls_model) String(local-exec) Value(TLS_MODEL_LOCAL_EXEC)
EnumValueEnum(tls_type) String(gnu) Value(TLS_GNU)
EnumValueEnum(tls_type) String(gnu2) Value(TLS_GNU2)
EnumValueEnum(vect_cost_model) String(cheap) Value(VECT_COST_MODEL_CHEAP)
EnumValueEnum(vect_cost_model) String(dynamic) Value(VECT_COST_MODEL_DYNAMIC)
EnumValueEnum(vect_cost_model) String(unlimited) Value(VECT_COST_MODEL_UNLIMITED)
EnumValueEnum(vtv_priority) String(none) Value(VTV_NO_PRIORITY)
EnumValueEnum(vtv_priority) String(preinit) Value(VTV_PREINIT_PRIORITY)
EnumValueEnum(vtv_priority) String(std) Value(VTV_STANDARD_PRIORITY)
FDriver C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)-F <dir>	Add <dir> to the end of the main framework include path.
HC ObjC C++ ObjC++Print the name of header files as they are used.
HFortran
HeaderIncludeconfig/arm/arm-opts.h
IAda AdaWhy AdaSCIL Joined Separate
IC ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)-I <dir>	Add <dir> to the end of the main include path.
IFortran Joined Separate
IGo Joined Separate
IJava Joined Separate
JFortran Joined Separate-J<directory>	Put MODULE files in 'directory'.
LDriver Joined Separate
LGo Joined Separate
LanguageAda
LanguageAdaSCIL
LanguageAdaWhy
LanguageC
LanguageC++
LanguageFortran
LanguageGo
LanguageJava
LanguageLTO
LanguageObjC
LanguageObjC++
MC ObjC C++ ObjC++Generate make dependencies.
MFortran
MJava
MDC ObjC C++ ObjC++ NoDriverArg Separate MissingArgError(missing filename after %qs)Generate make dependencies and compile.
MDFortran Separate NoDriverArg
MD_Java Undocumented RejectDriver
MFC ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs)-MF <file>	Write dependency output to the given file.
MFFortran Joined Separate
MFJava Separate
MGC ObjC C++ ObjC++Treat missing header files as generated files.
MGFortran
MMC ObjC C++ ObjC++Like -M but ignore system header files.
MMFortran
MMJava
MMDC ObjC C++ ObjC++ NoDriverArg Separate MissingArgError(missing filename after %qs)Like -MD but ignore system header files.
MMDFortran Separate NoDriverArg
MMD_Java Undocumented RejectDriver
MPC ObjC C++ ObjC++Generate phony targets for all headers.
MPFortran
MPJava
MQC ObjC C++ ObjC++ Joined Separate MissingArgError(missing makefile target after %qs)-MQ <target>	Add a MAKE-quoted target.
MQFortran Joined Separate
MTC ObjC C++ ObjC++ Joined Separate MissingArgError(missing makefile target after %qs)-MT <target>	Add an unquoted target.
MTFortran Joined Separate
MTJava Separate
NDriver
OCommon JoinedOrMissing Optimization-O<number>	Set optimization level to <number>.
OfastCommon OptimizationOptimize for speed disregarding exact standards compliance.
OgCommon OptimizationOptimize for debugging experience rather than speed or size.
OsCommon OptimizationOptimize for space rather than speed.
PC ObjC C++ ObjC++Do not generate #line directives.
PFortran
QDriver
QnDriver Negative(Qy)
QyDriver Negative(Qn)
RDriver Joined Separate
SDriver
SourceIncludecpplib.h
SourceIncludediagnostic-color.h
SourceIncludepretty-print.h
TDriver Joined Separate
TbssDriver Separate
Tbss=Driver Joined
TdataDriver Separate
Tdata=Driver Joined
TtextDriver Separate
Ttext=Driver Joined
UC ObjC C++ ObjC++ Joined Separate MissingArgError(macro name missing after %qs)-U<macro>	Undefine <macro>.
UFortran Joined Separate
VariableHOST_WIDE_INT frame_larger_than_size
VariableHOST_WIDE_INT larger_than_size
Variablebool dump_base_name_prefixed = false
Variablebool exit_after_options
Variablebool flag_disable_hsa = false
Variablebool flag_dump_all_passed
Variablebool flag_opts_finished
Variablebool flag_stack_usage_info = false
Variablebool flag_warn_unused_result = false
Variablebool in_lto_p = false
Variablebool use_gnu_debug_info_extensions
Variablebool warn_frame_larger_than
Variablebool warn_larger_than
Variablechar *help_enum_printed
Variablechar *help_printed
Variableconst char *main_input_basename
Variableconst char *main_input_filename
Variableenum debug_info_levels debug_info_level = DINFO_LEVEL_NONE
Variableenum debug_info_type write_symbols = NO_DEBUG
Variableenum debug_struct_file debug_struct_generic[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }
Variableenum debug_struct_file debug_struct_ordinary[DINFO_USAGE_NUM_ENUMS] = { DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY, DINFO_STRUCT_FILE_ANY }
Variableenum dwarf_gnat_encodings gnat_encodings = DWARF_GNAT_ENCODINGS_DEFAULT
Variableenum stack_check_type flag_stack_check = NO_STACK_CHECK
Variableint *param_values
Variableint flag_complex_method = 1
Variableint flag_debug_asm
Variableint flag_dump_rtl_in_asm
Variableint flag_evaluation_order = 0
Variableint flag_gen_aux_info = 0
Variableint flag_generate_lto
Variableint flag_generate_offload = 0
Variableint flag_incremental_link = 0
Variableint flag_print_asm_name
Variableint flag_shlib
Variableint main_input_baselength
Variableint optimize
Variableint optimize_debug
Variableint optimize_fast
Variableint optimize_size
Variableint rtl_dump_and_exit
Variableint target_flags
Variableunsigned int flag_sanitize
Variableunsigned int flag_sanitize_recover = SANITIZE_UNDEFINED | SANITIZE_NONDEFAULT | SANITIZE_KERNEL_ADDRESS
Variableunsigned int help_columns
Variableunsigned int initial_max_fld_align = TARGET_DEFAULT_PACK_STRUCT
Variablevoid *flag_instrument_functions_exclude_files
Variablevoid *flag_instrument_functions_exclude_functions
WCommon RejectNegative Warning Alias(Wextra)This switch is deprecated; use -Wextra instead.
Wa,Driver JoinedOrMissing
WabiC ObjC C++ ObjC++ LTO Var(warn_abi) WarningWarn about things that will change when compiling with an ABI-compliant compiler.
Wabi-tagC++ ObjC++ Var(warn_abi_tag) WarningWarn if a subobject has an abi_tag attribute that the complete object type does not have.
Wabi=C ObjC C++ ObjC++ LTO Joined RejectNegative UInteger WarningWarn about things that change between the current -fabi-version and the specified version.
WaddressC ObjC C++ ObjC++ Var(warn_address) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)Warn about suspicious uses of memory addresses.
Waggregate-returnCommon Var(warn_aggregate_return) WarningWarn about returning structures, unions or arrays.
Waggressive-loop-optimizationsCommon Var(warn_aggressive_loop_optimizations) Init(1) WarningWarn if a loop with constant number of iterations triggers undefined behavior.
WaliasingFortran Warning Var(warn_aliasing) LangEnabledBy(Fortran,Wall)Warn about possible aliasing of dummy arguments.
Walign-commonsFortran Warning Var(warn_align_commons) Init(1)Warn about alignment of COMMON blocks.
WallAda AdaWhy AdaSCILEnable most warning messages.
WallC ObjC C++ ObjC++ WarningEnable most warning messages.
WallFortran
WallGo
WallJava
Wall-deprecationJava
Wall-javadocJava
WampersandFortran Warning Var(warn_ampersand) LangEnabledBy(Fortran,Wall || Wpedantic)Warn about missing ampersand in continued character constants.
Warray-boundsCommon Var(warn_array_bounds) WarningWarn if an array is accessed out of bounds.
Warray-boundsLangEnabledBy(C ObjC C++ ObjC++,Wall)
Warray-bounds=Common Joined RejectNegative UInteger Var(warn_array_bounds) WarningWarn if an array is accessed out of bounds.
Warray-bounds=LangEnabledBy(C ObjC C++ ObjC++,Wall,1,0)
Warray-temporariesFortran Warning Var(warn_array_temporaries)Warn about creation of array temporaries.
Wassert-identifierJava
Wassign-interceptObjC ObjC++ Var(warn_assign_intercept) WarningWarn whenever an Objective-C assignment is being intercepted by the garbage collector.
WattributesCommon Var(warn_attributes) Init(1) WarningWarn about inappropriate attribute usage.
Wbad-function-castC ObjC Var(warn_bad_function_cast) WarningWarn about casting functions to incompatible types.
Wbool-compareC ObjC C++ ObjC++ Var(warn_bool_compare) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)Warn about boolean expression compared with an integer value different from true/false.
WboxingJava
Wbuiltin-macro-redefinedC ObjC C++ ObjC++ CPP(warn_builtin_macro_redefined) CppReason(CPP_W_BUILTIN_MACRO_REDEFINED) Var(cpp_warn_builtin_macro_redefined) Init(1) WarningWarn when a built-in preprocessor macro is undefined or redefined.
Wc++-compatC ObjC Var(warn_cxx_compat) CPP(warn_cxx_operator_names) CppReason(CPP_W_CXX_OPERATOR_NAMES) Init(0) WarningWarn about C constructs that are not in the common subset of C and C++.
Wc++0x-compatC++ ObjC++ Warning Alias(Wc++11-compat) Undocumented
Wc++11-compatC++ ObjC++ Var(warn_cxx11_compat) Warning LangEnabledBy(C++ ObjC++,Wall) Init(0) CPP(cpp_warn_cxx11_compat) CppReason(CPP_W_CXX11_COMPAT)Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 2011.
Wc++14-compatC++ ObjC++ Var(warn_cxx14_compat) Warning LangEnabledBy(C++ ObjC++,Wall)Warn about C++ constructs whose meaning differs between ISO C++ 2011 and ISO C++ 2014.
Wc-binding-typeFortran Var(warn_c_binding_type) Warning LangEnabledBy(Fortran,Wall)Warn if the type of a variable might be not interoperable with C.
Wc90-c99-compatC ObjC CPP(cpp_warn_c90_c99_compat) CppReason(CPP_W_C90_C99_COMPAT) Var(warn_c90_c99_compat) Init(-1) WarningWarn about features not present in ISO C90, but present in ISO C99.
Wc99-c11-compatC ObjC Var(warn_c99_c11_compat) Init(-1) WarningWarn about features not present in ISO C99, but present in ISO C11.
Wcast-alignCommon Var(warn_cast_align) WarningWarn about pointer casts which increase alignment.
Wcast-qualC ObjC C++ ObjC++ Var(warn_cast_qual) WarningWarn about casts which discard qualifiers.
Wchar-concatJava
Wchar-subscriptsC ObjC C++ ObjC++ Var(warn_char_subscripts) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)Warn about subscripts whose type is \"char\".
Wcharacter-truncationFortran Var(warn_character_truncation) Warning LangEnabledBy(Fortran,Wall)Warn about truncated character expressions.
WchkpC ObjC C++ ObjC++ Var(warn_chkp) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)Warn about memory access errors found by Pointer Bounds Checker.
WclobberedC ObjC C++ ObjC++ Var(warn_clobbered) Warning EnabledBy(Wextra)Warn about variables that might be changed by \"longjmp\" or \"vfork\".
WcommentC ObjC C++ ObjC++ CPP(warn_comments) CppReason(CPP_W_COMMENTS) Var(cpp_warn_comment) Init(0) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)Warn about possibly nested block comments, and C++ comments spanning more than one physical line.
WcommentsC ObjC C++ ObjC++ Warning Alias(Wcomment)Synonym for -Wcomment.
Wcompare-realsFortran Warning Var(warn_compare_reals) LangEnabledBy(Fortran,Wextra)Warn about equality comparisons involving REAL or COMPLEX expressions.
Wcondition-assignJava
Wconditionally-supportedC++ ObjC++ Var(warn_conditionally_supported) WarningWarn for conditionally-supported constructs.
Wconstructor-nameJava
WconversionC ObjC C++ ObjC++ Var(warn_conversion) WarningWarn for implicit type conversions that may change a value.
WconversionFortran Var(warn_conversion) Warning LangEnabledBy(Fortran,Wall)
Wconversion-extraFortran Var(warn_conversion_extra) WarningWarn about most implicit conversions.
Wconversion-nullC++ ObjC++ Var(warn_conversion_null) Init(1) WarningWarn for converting NULL from/to a non-pointer type.
Wcoverage-mismatchCommon Var(warn_coverage_mismatch) Init(1) WarningWarn in case profiles in -fprofile-use do not match.
WcppC ObjC C++ ObjC++ CppReason(CPP_W_WARNING_DIRECTIVE)
WcppCommon Var(warn_cpp) Init(1) WarningWarn when a #warning directive is encountered.
Wctor-dtor-privacyC++ ObjC++ Var(warn_ctor_dtor_privacy) WarningWarn when all constructors and destructors are private.
Wdate-timeC ObjC C++ ObjC++ CPP(warn_date_time) CppReason(CPP_W_DATE_TIME) Var(cpp_warn_date_time) Init(0) WarningWarn about __TIME__, __DATE__ and __TIMESTAMP__ usage.
Wdate-timeFortran
Wdeclaration-after-statementC ObjC Var(warn_declaration_after_statement) Init(-1) WarningWarn when a declaration is found after a statement.
Wdelete-incompleteC++ ObjC++ Var(warn_delete_incomplete) Init(1) WarningWarn when deleting a pointer to incomplete type.
Wdelete-non-virtual-dtorC++ ObjC++ Var(warn_delnonvdtor) Warning LangEnabledBy(C++ ObjC++,Wall || Weffc++)Warn about deleting polymorphic objects with non-virtual destructors.
Wdep-annJava
WdeprecatedC C++ ObjC ObjC++ CPP(cpp_warn_deprecated) CppReason(CPP_W_DEPRECATED) Var(warn_deprecated) Init(1) WarningWarn if a deprecated compiler feature, class, method, or field is used.
WdeprecatedJava Var(warn_deprecated)
Wdeprecated-declarationsCommon Var(warn_deprecated_decl) Init(1) WarningWarn about uses of __attribute__((deprecated)) declarations.
Wdesignated-initC ObjC Var(warn_designated_init) Init(1) WarningWarn about positional initialization of structs requiring designated initializers.
Wdisabled-optimizationCommon Var(warn_disabled_optimization) WarningWarn when an optimization pass is disabled.
Wdiscarded-array-qualifiersC ObjC Var(warn_discarded_array_qualifiers) Init(1) WarningWarn if qualifiers on arrays which are pointer targets are discarded.
Wdiscarded-qualifiersC ObjC Var(warn_discarded_qualifiers) Init(1) WarningWarn if type qualifiers on pointers are discarded.
WdiscouragedJava
Wdiv-by-zeroC ObjC C++ ObjC++ Var(warn_div_by_zero) Init(1) WarningWarn about compile-time integer division by zero.
Wdouble-promotionC ObjC C++ ObjC++ Var(warn_double_promotion) WarningWarn about implicit conversions from \"float\" to \"double\".
Wduplicated-condC ObjC C++ ObjC++ Var(warn_duplicated_cond) Init(0) WarningWarn about duplicated conditions in an if-else-if chain.
Weffc++C++ ObjC++ Var(warn_ecpp) WarningWarn about violations of Effective C++ style rules.
Wempty-blockJava
Wempty-bodyC ObjC C++ ObjC++ Var(warn_empty_body) Warning EnabledBy(Wextra)Warn about an empty body in an if or else statement.
Wendif-labelsC ObjC C++ ObjC++ CPP(warn_endif_labels) CppReason(CPP_W_ENDIF_LABELS) Var(cpp_warn_endif_labels) Init(1) Warning LangEnabledBy(C ObjC C++ ObjC++,Wpedantic)Warn about stray tokens after #elif and #endif.
Wenum-compareC ObjC C++ ObjC++ Var(warn_enum_compare) Init(-1) Warning LangEnabledBy(C ObjC,Wall || Wc++-compat)Warn about comparison of different enum types.
Wenum-identifierJava
Wenum-switchJava
WerrorC ObjC C++ ObjC++
WerrorCommon Var(warnings_are_errors)Treat all warnings as errors.
Werror-implicit-function-declarationC ObjC RejectNegative Warning Alias(Werror=, implicit-function-declaration)This switch is deprecated; use -Werror=implicit-function-declaration instead.
Werror=Common JoinedTreat specified warning as error.
WextraCommon Var(extra_warnings) WarningPrint extra (possibly unwanted) warnings.
WextraFortran Warning
Wextraneous-semicolonJava Var(flag_extraneous_semicolon)Warn if deprecated empty statements are found.
WfallthroughJava
Wfatal-errorsCommon Var(flag_fatal_errors)Exit on the first error occurred.
Wfield-hidingJava
Wfinal-boundJava
WfinallyJava
Wfloat-conversionC ObjC C++ ObjC++ Var(warn_float_conversion) Warning LangEnabledBy(C ObjC C++ ObjC++,Wconversion)Warn for implicit type conversions that cause loss of floating point precision.
Wfloat-equalC ObjC C++ ObjC++ Var(warn_float_equal) WarningWarn if testing floating point numbers for equality.
WforbiddenJava
WformatC ObjC C++ ObjC++ Warning Alias(Wformat=, 1, 0)Warn about printf/scanf/strftime/strfmon format string anomalies.
Wformat-contains-nulC ObjC C++ ObjC++ Var(warn_format_contains_nul) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 1, 0)Warn about format strings that contain NUL bytes.
Wformat-extra-argsC ObjC C++ ObjC++ Var(warn_format_extra_args) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 1, 0)Warn if passing too many arguments to a function for its format string.
Wformat-nonliteralC ObjC C++ ObjC++ Var(warn_format_nonliteral) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)Warn about format strings that are not literals.
Wformat-securityC ObjC C++ ObjC++ Var(warn_format_security) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)Warn about possible security problems with format functions.
Wformat-signednessC ObjC C++ ObjC++ Var(warn_format_signedness) WarningWarn about sign differences with format functions.
Wformat-y2kC ObjC C++ ObjC++ Var(warn_format_y2k) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=,warn_format >= 2, 0)Warn about strftime formats yielding 2-digit years.
Wformat-zero-lengthC ObjC C++ ObjC++ Var(warn_format_zero_length) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=,warn_format >= 1, 0)Warn about zero-length formats.
Wformat=C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0)Warn about printf/scanf/strftime/strfmon format string anomalies.
Wframe-addressC ObjC C++ ObjC++ Var(warn_frame_address) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)Warn when __builtin_frame_address or __builtin_return_address is used unsafely.
Wframe-larger-than=Common RejectNegative Joined UInteger Warning-Wframe-larger-than=<number>	Warn if a function's stack frame requires more than <number> bytes.
Wfree-nonheap-objectCommon Var(warn_free_nonheap_object) Init(1) WarningWarn when attempting to free a non-heap object.
Wfunction-eliminationFortran Warning Var(warn_function_elimination)Warn about function call elimination.
WhidingJava
WhsaCommon Var(warn_hsa) Init(1) WarningWarn when a function cannot be expanded to HSAIL.
Wignored-attributesC C++ Var(warn_ignored_attributes) Init(1) WarningWarn whenever attributes are ignored.
Wignored-qualifiersC C++ Var(warn_ignored_qualifiers) Warning EnabledBy(Wextra)Warn whenever type qualifiers are ignored.
WimplicitC ObjC Var(warn_implicit) Warning LangEnabledBy(C ObjC,Wall)Warn about implicit declarations.
Wimplicit-function-declarationC ObjC Var(warn_implicit_function_declaration) Init(-1) Warning LangEnabledBy(C ObjC,Wimplicit)Warn about implicit function declarations.
Wimplicit-intC ObjC Var(warn_implicit_int) Init(-1) Warning LangEnabledBy(C ObjC,Wimplicit)Warn when a declaration does not specify a type.
Wimplicit-interfaceFortran Warning Var(warn_implicit_interface)Warn about calls with implicit interface.
Wimplicit-procedureFortran Warning Var(warn_implicit_procedure)Warn about called procedures not explicitly declared.
WimportC ObjC C++ ObjC++ Undocumented Ignore
Wincompatible-pointer-typesC ObjC Var(warn_incompatible_pointer_types) Init(1) WarningWarn when there is a conversion between pointers that have incompatible types.
Windirect-staticJava
Winherited-variadic-ctorC++ ObjC++ Var(warn_inh_var_ctor) Init(1) WarningWarn about C++11 inheriting constructors when the base has a variadic constructor.
Winit-selfC ObjC C++ ObjC++ Var(warn_init_self) Warning LangEnabledBy(C++ ObjC++,Wall)Warn about variables which are initialized to themselves.
WinlineCommon Var(warn_inline) WarningWarn when an inlined function cannot be inlined.
Wint-conversionC ObjC Var(warn_int_conversion) Init(1) WarningWarn about incompatible integer to pointer and pointer to integer conversions.
Wint-to-pointer-castC ObjC C++ ObjC++ Var(warn_int_to_pointer_cast) Init(1) WarningWarn when there is a cast to a pointer from an integer of a different size.
Winteger-divisionFortran Warning Var(warn_integer_division) LangEnabledBy(Fortran,Wall)Warn about constant integer divisions with truncated results.
Wintf-annotationJava
Wintf-non-inheritedJava
Wintrinsic-shadowFortran Warning Var(warn_intrinsic_shadow) LangEnabledBy(Fortran,Wall)Warn if a user-procedure has the same name as an intrinsic.
Wintrinsics-stdFortran Var(warn_intrinsics_std) Warning LangEnabledBy(Fortran,Wall)Warn on intrinsics not part of the selected standard.
Winvalid-memory-modelCommon Var(warn_invalid_memory_model) Init(1) WarningWarn when an atomic memory model parameter is known to be outside the valid range.
Winvalid-offsetofC++ ObjC++ Var(warn_invalid_offsetof) Init(1) WarningWarn about invalid uses of the \"offsetof\" macro.
Winvalid-pchC ObjC C++ ObjC++ CPP(warn_invalid_pch) CppReason(CPP_W_INVALID_PCH) Var(cpp_warn_invalid_pch) Init(0) WarningWarn about PCH files that are found but not used.
WjavadocJava
Wjump-misses-initC ObjC Var(warn_jump_misses_init) Warning LangEnabledby(C ObjC,Wc++-compat)Warn when a jump misses a variable initialization.
Wl,Driver JoinedOrMissing
Wlarger-than-Common RejectNegative Joined Warning Undocumented Alias(Wlarger-than=)
Wlarger-than=Common RejectNegative Joined UInteger Warning-Wlarger-than=<number>	Warn if an object is larger than <number> bytes.
Wline-truncationFortran Warning Var(warn_line_truncation) LangEnabledBy(Fortran,Wall) Init(-1)Warn about truncated source lines.
Wliteral-suffixC++ ObjC++ CPP(warn_literal_suffix) CppReason(CPP_W_LITERAL_SUFFIX) Var(cpp_warn_literal_suffix) Init(1) WarningWarn when a string or character literal is followed by a ud-suffix which does not begin with an underscore.
Wlocal-hidingJava
Wlogical-not-parenthesesC ObjC C++ ObjC++ Var(warn_logical_not_paren) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)Warn when logical not is used on the left hand side operand of a comparison.
Wlogical-opC ObjC C++ ObjC++ Var(warn_logical_op) Init(0) WarningWarn when a logical operator is suspiciously always evaluating to true or false.
Wlong-longC ObjC C++ ObjC++ CPP(cpp_warn_long_long) CppReason(CPP_W_LONG_LONG) Var(warn_long_long) Init(-1) Warning LangEnabledBy(C ObjC,Wc90-c99-compat)Do not warn about using \"long long\" when -pedantic.
Wlto-type-mismatchCommon Var(warn_lto_type_mismatch) Init(1) WarningDuring link time optimization warn about mismatched types of global declarations.
WmainC ObjC C++ ObjC++ Var(warn_main) Init(-1) Warning LangEnabledBy(C ObjC,Wall, 2, 0)Warn about suspicious declarations of \"main\".
WmainLangEnabledBy(C ObjC C++ ObjC++,Wpedantic, 2, 0)
Wmasked-catch-blockJava
Wmaybe-uninitializedC ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall)
Wmaybe-uninitializedCommon Var(warn_maybe_uninitialized) Warning EnabledBy(Wuninitialized)Warn about maybe uninitialized automatic variables.
Wmaybe-uninitializedFortran LangEnabledBy(Fortran,Wall)
Wmemset-transposed-argsC ObjC C++ ObjC++ Var(warn_memset_transposed_args) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)Warn about suspicious calls to memset where the third argument is constant literal zero and the second is not.
Wmisleading-indentationC C++ Common Var(warn_misleading_indentation) Warning LangEnabledBy(C C++,Wall)Warn when the indentation of the code does not reflect the block structure.
Wmissing-bracesC ObjC C++ ObjC++ Var(warn_missing_braces) Warning LangEnabledBy(C ObjC,Wall)Warn about possibly missing braces around initializers.
Wmissing-declarationsC ObjC C++ ObjC++ Var(warn_missing_declarations) WarningWarn about global functions without previous declarations.
Wmissing-field-initializersC ObjC C++ ObjC++ Var(warn_missing_field_initializers) Warning EnabledBy(Wextra)Warn about missing fields in struct initializers.
Wmissing-format-attributeC ObjC C++ ObjC++ Warning Alias(Wsuggest-attribute=format)
Wmissing-include-dirsC ObjC C++ ObjC++ CPP(warn_missing_include_dirs) CppReason(CPP_W_MISSING_INCLUDE_DIRS) Var(cpp_warn_missing_include_dirs) Init(0) WarningWarn about user-specified include directories that do not exist.
Wmissing-include-dirsFortran
Wmissing-noreturnCommon Warning Alias(Wsuggest-attribute=noreturn)
Wmissing-parameter-typeC ObjC Var(warn_missing_parameter_type) Warning EnabledBy(Wextra)Warn about function parameters declared without a type specifier in K&R-style functions.
Wmissing-prototypesC ObjC Var(warn_missing_prototypes) WarningWarn about global functions without prototypes.
WmudflapC ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
WmulticharC ObjC C++ ObjC++ CPP(warn_multichar) CppReason(CPP_W_MULTICHAR) Var(cpp_warn_multichar) Init(0) WarningWarn about use of multi-character character constants.
Wmultiple-inheritanceC++ ObjC++ Var(warn_multiple_inheritance) WarningWarn on direct multiple inheritance.
WnamespacesC++ ObjC++ Var(warn_namespaces) WarningWarn on namespace definition.
WnarrowingC ObjC C++ ObjC++ Warning Var(warn_narrowing) Init(-1) LangEnabledBy(C++ ObjC++,Wall || Wc++11-compat)Warn about narrowing conversions within { } that are ill-formed in C++11.
Wnested-externsC ObjC Var(warn_nested_externs) WarningWarn about \"extern\" declarations not at file scope.
WnlsJava
Wno-effect-assignJava
WnoexceptC++ ObjC++ Var(warn_noexcept) WarningWarn when a noexcept expression evaluates to false even though the expression can't actually throw.
Wnon-template-friendC++ ObjC++ Var(warn_nontemplate_friend) Init(1) WarningWarn when non-templatized friend functions are declared within a template.
Wnon-virtual-dtorC++ ObjC++ Var(warn_nonvdtor) Warning LangEnabledBy(C++ ObjC++,Weffc++)Warn about non-virtual destructors.
WnonnullC ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall)
WnonnullC ObjC C++ ObjC++ Var(warn_nonnull) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=,warn_format >= 1,0)Warn about NULL being passed to argument slots marked as requiring non-NULL.
Wnonnull-compareC ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall)
Wnonnull-compareVar(warn_nonnull_compare) WarningWarn if comparing pointer parameter with nonnull attribute with NULL.
WnormalizedC ObjC C++ ObjC++ Warning Alias(Wnormalized=,nfc,none)
Wnormalized=C ObjC C++ ObjC++ RejectNegative Joined Warning CPP(warn_normalize) CppReason(CPP_W_NORMALIZE) Init(normalized_C) Var(cpp_warn_normalize) Enum(cpp_normalize_level)-Wnormalized=<none|id|nfc|nfkc>	Warn about non-normalised Unicode strings.
WnullJava
Wnull-dereferenceCommon Var(warn_null_dereference) WarningWarn if dereferencing a NULL pointer may lead to erroneous or undefined behavior.
WodrCommon Var(warn_odr_violations) Init(1) WarningWarn about some C++ One Definition Rule violations during link time optimization.
Wold-style-castC++ ObjC++ Var(warn_old_style_cast) WarningWarn if a C-style cast is used in a program.
Wold-style-declarationC ObjC Var(warn_old_style_declaration) Warning EnabledBy(Wextra)Warn for obsolescent usage in a declaration.
Wold-style-definitionC ObjC Var(warn_old_style_definition) WarningWarn if an old-style parameter definition is used.
Wopenmp-simdC C++ Var(warn_openmp_simd) Warning LangEnabledBy(C C++,Wall)Warn if a simd directive is overridden by the vectorizer cost model.
Wopenmp-simdFortran
Wout-of-dateJava Var(flag_newer) Init(1)Warn if .class files are out of date.
Wover-annJava
WoverflowCommon Var(warn_overflow) Init(1) WarningWarn about overflow in arithmetic expressions.
Woverlength-stringsC ObjC C++ ObjC++ Var(warn_overlength_strings) Warning LangEnabledBy(C ObjC C++ ObjC++,Wpedantic)Warn if a string is longer than the maximum portable length specified by the standard.
Woverloaded-virtualC++ ObjC++ Var(warn_overloaded_virtual) WarningWarn about overloaded virtual function names.
Woverride-initC ObjC Var(warn_override_init) Warning EnabledBy(Wextra)Warn about overriding initializers without side effects.
Woverride-init-side-effectsC ObjC Var(warn_override_init_side_effects) Init(1) WarningWarn about overriding initializers with side effects.
Wp,Driver JoinedOrMissing
WpackedCommon Var(warn_packed) WarningWarn when the packed attribute has no effect on struct layout.
Wpacked-bitfield-compatC ObjC C++ ObjC++ Var(warn_packed_bitfield_compat) Init(-1) WarningWarn about packed bit-fields whose offset changed in GCC 4.4.
WpaddedCommon Var(warn_padded) WarningWarn when padding is required to align structure members.
Wparam-assignJava
WparenthesesC ObjC C++ ObjC++ Var(warn_parentheses) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)Warn about possibly missing parentheses.
WpedanticC ObjC C++ ObjC++ CPP(cpp_pedantic) CppReason(CPP_W_PEDANTIC) Warning
WpedanticCommon Var(pedantic) Init(0) WarningIssue warnings needed for strict compliance to the standard.
WpedanticFortran
Wpkg-default-methodJava
Wplacement-newC++ Warning Alias(Wplacement-new=, 1, 0)Warn for placement new expressions with undefined behavior.
Wplacement-new=C++ Joined RejectNegative UInteger Var(warn_placement_new) Init(-1) WarningWarn for placement new expressions with undefined behavior.
Wpmf-conversionsC++ ObjC++ Var(warn_pmf2ptr) Init(1) WarningWarn when converting the type of pointers to member functions.
Wpointer-arithC ObjC C++ ObjC++ Var(warn_pointer_arith) Warning LangEnabledBy(C ObjC C++ ObjC++,Wpedantic)Warn about function pointer arithmetic.
Wpointer-signC ObjC Var(warn_pointer_sign) Warning LangEnabledBy(C ObjC,Wall || Wpedantic)Warn when a pointer differs in signedness in an assignment.
Wpointer-to-int-castC ObjC Var(warn_pointer_to_int_cast) Init(1) WarningWarn when a pointer is cast to an integer of a different size.
Wpoison-system-directoriesCommon Var(flag_poison_system_directories) Init(1) WarningWarn for -I and -L options using system directories if cross compiling
WpragmasC ObjC C++ ObjC++ Var(warn_pragmas) Init(1) WarningWarn about misuses of pragmas.
Wproperty-assign-defaultObjC ObjC++ Var(warn_property_assign_default) Init(1) WarningWarn if a property for an Objective-C object has no assign semantics specified.
WprotocolObjC ObjC++ Var(warn_protocol) Init(1) WarningWarn if inherited methods are unimplemented.
WpsabiC ObjC C++ ObjC++ LTO Var(warn_psabi) Init(1) Warning Undocumented LangEnabledBy(C ObjC C++ ObjC++,Wabi)
WrawJava
Wreal-q-constantFortran Warning Var(warn_real_q_constant) LangEnabledBy(Fortran,Wall)Warn about real-literal-constants with 'q' exponent-letter.
Wrealloc-lhsFortran Warning Var(warn_realloc_lhs) LangEnabledBy(Fortran,Wrealloc-lhs-all)Warn when a left-hand-side array variable is reallocated.
Wrealloc-lhs-allFortran Warning Var(warn_realloc_lhs_all)Warn when a left-hand-side variable is reallocated.
Wredundant-declsC ObjC C++ ObjC++ Var(warn_redundant_decls) WarningWarn about multiple declarations of the same object.
Wredundant-modifiersJava Var(flag_redundant)Warn if modifiers are specified when not necessary.
WreorderC++ ObjC++ Var(warn_reorder) Warning LangEnabledBy(C++ ObjC++,Wall)Warn when the compiler reorders code.
Wreturn-local-addrCommon Var(warn_return_local_addr) Init(1) WarningWarn about returning a pointer/reference to a local or temporary variable.
Wreturn-typeC ObjC C++ ObjC++ Var(warn_return_type) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++).
Wreturn-typeFortran Warning LangEnabledBy(Fortran,Wall)
Wscalar-storage-orderC ObjC C++ ObjC++ Init(1) WarningWarn on suspicious constructs involving reverse scalar storage order.
WselectorObjC ObjC++ Var(warn_selector) WarningWarn if a selector has multiple methods.
Wsequence-pointC ObjC C++ ObjC++ Var(warn_sequence_point) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)Warn about possible violations of sequence point rules.
WserialJava
WshadowCommon Var(warn_shadow) WarningWarn when one local variable shadows another.
Wshadow-ivarObjC ObjC++ Var(warn_shadow_ivar) EnabledBy(Wshadow) Init(1) WarningWarn if a local declaration hides an instance variable.
Wshift-count-negativeC ObjC C++ ObjC++ Var(warn_shift_count_negative) Init(1) WarningWarn if shift count is negative.
Wshift-count-overflowC ObjC C++ ObjC++ Var(warn_shift_count_overflow) Init(1) WarningWarn if shift count >= width of type.
Wshift-negative-valueC ObjC C++ ObjC++ Var(warn_shift_negative_value) Init(-1) WarningWarn if left shifting a negative value.
Wshift-overflowC ObjC C++ ObjC++ Warning Alias(Wshift-overflow=, 1, 0)Warn if left shift of a signed value overflows.
Wshift-overflow=C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_shift_overflow) Init(-1) WarningWarn if left shift of a signed value overflows.
Wsign-compareC ObjC C++ ObjC++ EnabledBy(Wextra)
Wsign-compareC ObjC C++ ObjC++ Var(warn_sign_compare) Warning LangEnabledBy(C++ ObjC++,Wall)Warn about signed-unsigned comparisons.
Wsign-conversionC ObjC C++ ObjC++ Var(warn_sign_conversion) Warning LangEnabledBy(C ObjC,Wconversion)Warn for implicit type conversions between signed and unsigned integers.
Wsign-promoC++ ObjC++ Var(warn_sign_promo) WarningWarn when overload promotes from unsigned to signed.
Wsized-deallocationC++ ObjC++ Var(warn_sized_deallocation) Warning EnabledBy(Wextra)Warn about missing sized deallocation functions.
Wsizeof-array-argumentC ObjC C++ ObjC++ Var(warn_sizeof_array_argument) Warning Init(1)Warn when sizeof is applied on a parameter declared as an array.
Wsizeof-pointer-memaccessC ObjC C++ ObjC++ Var(warn_sizeof_pointer_memaccess) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)Warn about suspicious length parameters to certain string functions if the argument uses sizeof.
Wspecial-param-hidingJava
Wstack-protectorCommon Var(warn_stack_protect) WarningWarn when not issuing stack smashing protection for some reason.
Wstack-usage=Common Joined RejectNegative UInteger Var(warn_stack_usage) Init(-1) WarningWarn if stack usage might be larger than specified amount.
Wstatic-accessJava
Wstatic-receiverJava
Wstrict-aliasingCommon WarningWarn about code which might break strict aliasing rules.
Wstrict-aliasing=C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall, 3, 0)
Wstrict-aliasing=Common Joined RejectNegative UInteger Var(warn_strict_aliasing) WarningWarn about code which might break strict aliasing rules.
Wstrict-null-sentinelC++ ObjC++ Warning Var(warn_strict_null_sentinel)Warn about uncasted NULL used as sentinel.
Wstrict-overflowCommon WarningWarn about optimizations that assume that signed overflow is undefined.
Wstrict-overflow=C ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0)
Wstrict-overflow=Common Joined RejectNegative UInteger Var(warn_strict_overflow) WarningWarn about optimizations that assume that signed overflow is undefined.
Wstrict-prototypesC ObjC Var(warn_strict_prototypes) WarningWarn about unprototyped function declarations.
Wstrict-selector-matchObjC ObjC++ Var(warn_strict_selector_match) WarningWarn if type signatures of candidate methods do not match exactly.
Wsubobject-linkageC++ ObjC++ Var(warn_subobject_linkage) Warning Init(1)Warn if a class type has a base or a field whose type uses the anonymous namespace or depends on a type with no linkage.
Wsuggest-attribute=constCommon Var(warn_suggest_attribute_const) WarningWarn about functions which might be candidates for __attribute__((const)).
Wsuggest-attribute=formatC ObjC C++ ObjC++ Var(warn_suggest_attribute_format) WarningWarn about functions which might be candidates for format attributes.
Wsuggest-attribute=noreturnCommon Var(warn_suggest_attribute_noreturn) WarningWarn about functions which might be candidates for __attribute__((noreturn)).
Wsuggest-attribute=pureCommon Var(warn_suggest_attribute_pure) WarningWarn about functions which might be candidates for __attribute__((pure)).
Wsuggest-final-methodsCommon Var(warn_suggest_final_methods) WarningWarn about C++ virtual methods where adding final keyword would improve code quality.
Wsuggest-final-typesCommon Var(warn_suggest_final_types) WarningWarn about C++ polymorphic types where adding final keyword would improve code quality.
Wsuggest-overrideC++ ObjC++ Var(warn_override) WarningSuggest that the override keyword be used when the declaration of a virtualfunction overrides another.
WsuppressJava
WsurprisingFortran Warning Var(warn_surprising) LangEnabledBy(Fortran,Wall)Warn about \"suspicious\" constructs.
WswitchC ObjC C++ ObjC++ Var(warn_switch) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)Warn about enumerated switches, with no default, missing a case.
Wswitch-boolC ObjC C++ ObjC++ Var(warn_switch_bool) Warning Init(1)Warn about switches with boolean controlling expression.
Wswitch-defaultC ObjC C++ ObjC++ Var(warn_switch_default) WarningWarn about enumerated switches missing a \"default:\" statement.
Wswitch-enumC ObjC C++ ObjC++ Var(warn_switch_enum) WarningWarn about all enumerated switches missing a specific case.
Wsync-nandC C++ Var(warn_sync_nand) Init(1) WarningWarn when __sync_fetch_and_nand and __sync_nand_and_fetch built-in functions are used.
WsynthC++ ObjC++ Var(warn_synth) WarningDeprecated.  This switch has no effect.
Wsynthetic-accessJava
Wsystem-headersC ObjC C++ ObjC++ Warning
Wsystem-headersCommon Var(warn_system_headers) WarningDo not suppress warnings from system headers.
WtabsFortran Warning Var(warn_tabs) LangEnabledBy(Fortran,Wall || Wpedantic)Permit nonconforming uses of the tab character.
Wtarget-lifetimeFortran Warning Var(warn_target_lifetime) LangEnabledBy(Fortran,Wall)Warn if the pointer in a pointer assignment might outlive its target.
WtasksJava
Wtautological-compareC ObjC C++ ObjC++ Var(warn_tautological_compare) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)Warn if a comparison always evaluates to true or false.
WtemplatesC++ ObjC++ Var(warn_templates) WarningWarn on primary template declaration.
WterminateC++ ObjC++ Warning Var(warn_terminate) Init(1)Warn if a throw expression will always result in a call to terminate().
WtraditionalC ObjC CPP(cpp_warn_traditional) CppReason(CPP_W_TRADITIONAL) Var(warn_traditional) Init(0) WarningWarn about features not present in traditional C.
Wtraditional-conversionC ObjC Var(warn_traditional_conversion) WarningWarn of prototypes causing type conversions different from what would happen in the absence of prototype.
WtrampolinesCommon Var(warn_trampolines) WarningWarn whenever a trampoline is generated.
WtrigraphsC ObjC C++ ObjC++ CPP(warn_trigraphs) CppReason(CPP_W_TRIGRAPHS) Var(cpp_warn_trigraphs) Init(2) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)Warn if trigraphs are encountered that might affect the meaning of the program.
Wtype-hidingJava
Wtype-limitsCommon Var(warn_type_limits) Warning EnabledBy(Wextra)Warn if a comparison is always true or always false due to the limited range of the data type.
WuncheckJava
Wundeclared-selectorObjC ObjC++ Var(warn_undeclared_selector) WarningWarn about @selector()s without previously declared methods.
WundefC ObjC C++ ObjC++ CPP(warn_undef) CppReason(CPP_W_UNDEF) Var(cpp_warn_undef) Init(0) WarningWarn if an undefined macro is used in an #if directive.
WunderflowFortran Warning Var(warn_underflow) Init(1)Warn about underflow of numerical constant expressions.
WuninitializedC ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall)
WuninitializedCommon Var(warn_uninitialized) Warning EnabledBy(Wextra)Warn about uninitialized automatic variables.
WuninitializedFortran LangEnabledBy(Fortran,Wall)
Wunknown-pragmasC ObjC C++ ObjC++ Warning Var(warn_unknown_pragmas) LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0)Warn about unrecognized pragmas.
Wunnecessary-elseJava
Wunqualified-fieldJava
Wunreachable-codeCommon Ignore WarningDoes nothing. Preserved for backward compatibility.
Wunsafe-loop-optimizationsCommon Var(warn_unsafe_loop_optimizations) WarningWarn if the loop cannot be optimized due to nontrivial assumptions.
Wunsuffixed-float-constantsC ObjC Var(warn_unsuffixed_float_constants) WarningWarn about unsuffixed float constants.
WunusedC ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wall)
WunusedCommon Var(warn_unused) Init(0) WarningEnable all -Wunused- warnings.
WunusedJava
WunusedLangEnabledBy(Fortran,Wall)
Wunused-argumentJava
Wunused-but-set-parameterCommon Var(warn_unused_but_set_parameter) Warning EnabledBy(Wunused && Wextra)Warn when a function parameter is only set, otherwise unused.
Wunused-but-set-variableCommon Var(warn_unused_but_set_variable) Warning EnabledBy(Wunused)Warn when a variable is only set, otherwise unused.
Wunused-const-variableC ObjC C++ ObjC++ Warning Alias(Wunused-const-variable=, 2, 0)Warn when a const variable is unused.
Wunused-const-variable=C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_unused_const_variable) Warning LangEnabledBy(C ObjC,Wunused-variable, 1, 0)Warn when a const variable is unused.
Wunused-dummy-argumentFortran Warning Var(warn_unused_dummy_argument) LangEnabledBy(Fortran,Wall)Warn about unused dummy arguments.
Wunused-functionCommon Var(warn_unused_function) Warning EnabledBy(Wunused)Warn when a function is unused.
Wunused-importJava
Wunused-labelCommon Var(warn_unused_label) Warning EnabledBy(Wunused)Warn when a label is unused.
Wunused-labelJava
Wunused-localJava
Wunused-local-typedefsC ObjC C++ ObjC++ Var(warn_unused_local_typedefs) Warning EnabledBy(Wunused)Warn when typedefs locally defined in a function are not used.
Wunused-macrosC ObjC C++ ObjC++ CppReason(CPP_W_UNUSED_MACROS) Var(cpp_warn_unused_macros) WarningWarn about macros defined in the main file that are not used.
Wunused-parameterCommon Var(warn_unused_parameter) Warning EnabledBy(Wunused && Wextra)Warn when a function parameter is unused.
Wunused-privateJava
Wunused-resultC ObjC C++ ObjC++ Var(warn_unused_result) Init(1) WarningWarn if a caller of a function, marked with attribute warn_unused_result, does not use its return value.
Wunused-thrownJava
Wunused-valueCommon Var(warn_unused_value) Warning EnabledBy(Wunused)Warn when an expression value is unused.
Wunused-variableC ObjC C++ ObjC++ LangEnabledBy(C ObjC C++ ObjC++,Wunused)
Wunused-variableCommon Var(warn_unused_variable) Warning EnabledBy(Wunused)Warn when a variable is unused.
Wuse-without-onlyFortran Var(warn_use_without_only) WarningWarn about USE statements that have no ONLY qualifier.
Wuseless-castC++ ObjC++ Var(warn_useless_cast) WarningWarn about useless casts.
Wuseless-type-checkJava
WvarargsC ObjC C++ ObjC++ Warning Var(warn_varargs) Init(1)Warn about questionable usage of the macros used to retrieve variable arguments.
Wvarargs-castJava
Wvariadic-macrosC ObjC C++ ObjC++ CPP(warn_variadic_macros) CppReason(CPP_W_VARIADIC_MACROS) Var(cpp_warn_variadic_macros) Init(0) Warning LangEnabledBy(C ObjC C++ ObjC++,Wpedantic || Wtraditional)Warn about using variadic macros.
Wvector-operation-performanceCommon Var(warn_vector_operation_performance) WarningWarn when a vector operation is compiled outside the SIMD.
Wvirtual-inheritanceC++ ObjC++ Var(warn_virtual_inheritance) WarningWarn on direct virtual inheritance.
Wvirtual-move-assignC++ ObjC++ Var(warn_virtual_move_assign) Warning Init(1)Warn if a virtual base has a non-trivial move assignment operator.
WvlaC ObjC C++ ObjC++ Var(warn_vla) Init(-1) WarningWarn if a variable length array is used.
Wvolatile-register-varC ObjC C++ ObjC++ Var(warn_volatile_register_var) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall)Warn when a register variable is declared volatile.
Wwarning-tokenJava
Wwrite-stringsC ObjC C++ ObjC++ Var(warn_write_strings) WarningIn C++, nonzero means warn about deprecated conversion from string literals to 'char *'.  In C, similar warning, except that the conversion is of course not deprecated by the ISO C standard.
Wzero-as-null-pointer-constantC++ ObjC++ Var(warn_zero_as_null_pointer_constant) WarningWarn when a literal '0' is used as null pointer.
WzerotripFortran Warning Var(warn_zerotrip) LangEnabledBy(Fortran,Wall)Warn about zero-trip DO loops.
XassemblerDriver Separate
XlinkerDriver Separate
XpreprocessorDriver Separate
ZDriver
ansiC ObjC C++ ObjC++A synonym for -std=c89 (for C) or -std=c++98 (for C++).
aux-infoCommon Separate Var(aux_info_file_name)-aux-info <file>	Emit declaration information into <file>.
aux-info=Common Joined Alias(aux-info)
auxbaseCommon Separate RejectDriver Var(aux_base_name)
auxbase-stripCommon Separate RejectDriver
bootclasspathJava Separate Alias(fbootclasspath=)
cDriver
classpathJava Separate Alias(fclasspath=)
coverageDriver
cppFortran Negative(nocpp)Enable preprocessing.
cpp=Fortran Joined Negative(nocpp) Undocumented NoDWARFRecord
dC ObjC C++ ObjC++ Joined
dCommon Joined-d<letters>	Enable dumps from specific passes of the compiler.
dFortran Joined
dJava Separate SeparateAlias Alias(foutput-class-dir=)
dumpbaseCommon Separate Var(dump_base_name)-dumpbase <file>	Set the file basename to be used for dumps.
dumpdirCommon Separate Var(dump_dir_name)-dumpdir <dir>	Set the directory name to be used for dumps.
dumpmachineDriver
dumpspecsDriver
dumpversionDriver
eDriver Joined Separate
encodingJava Separate Alias(fencoding=)
export-dynamicDriver Undocumented
extdirsDriver Separate
fCLASSPATH=Java JoinedOrMissing RejectNegative Alias(fclasspath=)--CLASSPATH	Deprecated; use --classpath instead.
fPICCommon Report Var(flag_pic,2) Negative(fPIE) Init(-1)Generate position-independent code if possible (large mode).
fPIECommon Report Var(flag_pie,2) Negative(fpic) Init(-1)Generate position-independent code for executables if possible (large mode).
fRTS=Ada AdaWhy AdaSCIL Joined RejectNegativeSelect the runtime.
fabi-compat-version=C++ ObjC++ Joined RejectNegative UInteger Var(flag_abi_compat_version) Init(-1)The version of the C++ ABI used for -Wabi warnings and link compatibility aliases.
fabi-version=Common Joined RejectNegative UInteger Var(flag_abi_version) Init(0)The version of the C++ ABI in use.
faccess-controlC++ ObjC++ Var(flag_access_control) Init(1)Enforce class member access control semantics.
fada-spec-parent=C ObjC C++ ObjC++ RejectNegative Joined Var(ada_specs_parent)-fada-spec-parent=unit  Dump Ada specs as child units of given parent.
faggressive-function-eliminationFortran Var(flag_aggressive_function_elimination)Eliminate multiple function invokations also for impure functions.
faggressive-loop-optimizationsCommon Report Var(flag_aggressive_loop_optimizations) Optimization Init(1)Aggressively optimize loops using language constraints.
falign-commonsFortran Var(flag_align_commons) Init(1)Enable alignment of COMMON blocks.
falign-functionsCommon Report Var(align_functions,0) Optimization UIntegerAlign the start of functions.
falign-functions=Common RejectNegative Joined UInteger Var(align_functions)
falign-jumpsCommon Report Var(align_jumps,0) Optimization UIntegerAlign labels which are only reached by jumping.
falign-jumps=Common RejectNegative Joined UInteger Var(align_jumps)
falign-labelsCommon Report Var(align_labels,0) Optimization UIntegerAlign all labels.
falign-labels=Common RejectNegative Joined UInteger Var(align_labels)
falign-loopsCommon Report Var(align_loops,0) Optimization UIntegerAlign the start of loops.
falign-loops=Common RejectNegative Joined UInteger Var(align_loops)
fall-intrinsicsFortran RejectNegative Var(flag_all_intrinsics)All intrinsics procedures are available regardless of selected standard.
fall-virtualC++ ObjC++ Ignore Warn(switch %qs is no longer supported)
fallow-leading-underscoreFortran Undocumented Var(flag_allow_leading_underscore)
fallow-parameterless-variadic-functionsC ObjC Var(flag_allow_parameterless_variadic_functions)Allow variadic functions without named parameter.
falt-external-templatesC++ ObjC++ Ignore Warn(switch %qs is no longer supported)No longer supported.
fargument-aliasCommon IgnoreDoes nothing. Preserved for backward compatibility.
fargument-noaliasCommon IgnoreDoes nothing. Preserved for backward compatibility.
fargument-noalias-anythingCommon IgnoreDoes nothing. Preserved for backward compatibility.
fargument-noalias-globalCommon IgnoreDoes nothing. Preserved for backward compatibility.
fasan-shadow-offset=Common Joined RejectNegative Var(common_deferred_options) Defer-fasan-shadow-offset=<number>	Use custom shadow memory offset.
fasmC ObjC C++ ObjC++ Var(flag_no_asm, 0)Recognize the \"asm\" keyword.
fassertJava Var(flag_assert) Init(1)Permit the use of the assert keyword.
fassociative-mathCommon Report Var(flag_associative_math) SetByCombined OptimizationAllow optimization for floating-point arithmetic which may change theresult of the operation due to rounding.
fassume-compiledJava
fassume-compiled=Java JoinedOrMissing
fasynchronous-unwind-tablesCommon Report Var(flag_asynchronous_unwind_tables) OptimizationGenerate unwind tables that are exact at each instruction boundary.
fauto-inc-decCommon Report Var(flag_auto_inc_dec) Init(1) OptimizationGenerate auto-inc/dec instructions.
fauto-profileCommon Report Var(flag_auto_profile)Use sample profile information for call graph node weights. The defaultprofile file is fbdata.afdo in 'pwd'.
fauto-profile=Common Joined RejectNegative Var(auto_profile_file)Use sample profile information for call graph node weights. The profilefile is specified in the argument.
fautomaticFortran Var(flag_automatic) Init(1)Do not treat local variables and COMMON blocks as if they were named in SAVE statements.
faux-classpathJava Separate RejectNegative Undocumented
fbackslashFortran Var(flag_backslash)Specify that backslash in string introduces an escape character.
fbacktraceFortran Var(flag_backtrace) Init(1)Produce a backtrace when a runtime error is encountered.
fblas-matmul-limit=Fortran RejectNegative Joined UInteger Var(flag_blas_matmul_limit) Init(30)-fblas-matmul-limit=<n>	Size of the smallest matrix for which matmul will use BLAS.
fbootclasspath=Java JoinedOrMissing RejectNegative--bootclasspath=<path>	Replace system path.
fbootstrap-classesJava Var(flag_bootstrap_classes)Generated should be loaded by bootstrap loader.
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) OptimizationReplace add, compare, branch with branch on count register.
fbranch-probabilitiesCommon Report Var(flag_branch_probabilities) OptimizationUse profiling information for branch probabilities.
fbranch-target-load-optimizeCommon Report Var(flag_branch_target_load_optimize) OptimizationPerform branch target load optimization before prologue / epilogue threading.
fbranch-target-load-optimize2Common Report Var(flag_branch_target_load_optimize2) OptimizationPerform branch target load optimization after prologue / epilogue threading.
fbtr-bb-exclusiveCommon Report Var(flag_btr_bb_exclusive) OptimizationRestrict target load migration not to re-use registers in any basic block.
fbuilding-libgccC ObjC C++ ObjC++ Undocumented Var(flag_building_libgcc)
fbuiltinC ObjC C++ ObjC++ Var(flag_no_builtin, 0)Recognize built-in functions.
fbuiltin-C ObjC C++ ObjC++ Joined
fbuiltin-printfAda UndocumentedIgnored.
fcall-saved-Common Joined RejectNegative Var(common_deferred_options) Defer-fcall-saved-<register>	Mark <register> as being preserved across functions.
fcall-used-Common Joined RejectNegative Var(common_deferred_options) Defer-fcall-used-<register>	Mark <register> as being corrupted by function calls.
fcaller-savesCommon Report Var(flag_caller_saves) OptimizationSave registers around function calls.
fcanonical-system-headersC ObjC C++ ObjC++Where shorter, use canonicalized paths to systems headers.
fcheck-array-temporariesFortranProduce a warning at runtime if a array temporary has been created for a procedure argument.
fcheck-data-depsCommon Report Var(flag_check_data_deps)This switch is deprecated; do not use.
fcheck-newCommon Var(flag_check_new)Check the return value of new in C++.
fcheck-pointer-boundsC ObjC C++ ObjC++ LTO Report Var(flag_check_pointer_bounds)Add Pointer Bounds Checker instrumentation.  fchkp-* flags are used tocontrol instrumentation.  Currently available for C, C++ and ObjC.
fcheck-referencesJava Var(flag_check_references)Generate checks for references to NULL.
fcheck=Fortran RejectNegative JoinedOrMissing-fcheck=[...]	Specify which runtime checks are to be performed.
fcheckingCommon Var(flag_checking) Init(CHECKING_P)Perform internal consistency checkings.
fchkp-check-incomplete-typeC ObjC C++ ObjC++ LTO Report Var(flag_chkp_incomplete_type) Init(1)Generate pointer bounds checks for variables with incomplete type.
fchkp-check-readC ObjC C++ ObjC++ LTO Report Var(flag_chkp_check_read) Init(1)Generate checks for all read accesses to memory.
fchkp-check-writeC ObjC C++ ObjC++ LTO Report Var(flag_chkp_check_write) Init(1)Generate checks for all write accesses to memory.
fchkp-first-field-has-own-boundsC ObjC C++ ObjC++ LTO RejectNegative Report Var(flag_chkp_first_field_has_own_bounds)Forces Pointer Bounds Checker to use narrowed bounds for address of the firstfield in the structure.  By default pointer to the first field has the samebounds as pointer to the whole structure.
fchkp-instrument-callsC ObjC C++ ObjC++ LTO Report Var(flag_chkp_instrument_calls) Init(1)Generate bounds passing for calls.
fchkp-instrument-marked-onlyC ObjC C++ ObjC++ LTO Report Var(flag_chkp_instrument_marked_only) Init(0)Instrument only functions marked with bnd_instrument attribute.
fchkp-narrow-boundsC ObjC C++ ObjC++ LTO Report Var(flag_chkp_narrow_bounds) Init(1)Control how Pointer Bounds Checker handle pointers to object fields.  Whennarrowing is on, field bounds are used.  Otherwise full object bounds are used.
fchkp-narrow-to-innermost-arrayC ObjC C++ ObjC++ LTO RejectNegative Report Var(flag_chkp_narrow_to_innermost_arrray)Forces Pointer Bounds Checker to use bounds of the innermost arrays in case ofnested static arryas access.  By default outermost array is used.
fchkp-optimizeC ObjC C++ ObjC++ LTO Report Var(flag_chkp_optimize) Init(-1)Allow Pointer Bounds Checker optimizations.  By default allowedon optimization levels >0.
fchkp-store-boundsC ObjC C++ ObjC++ LTO Report Var(flag_chkp_store_bounds) Init(1)Generate bounds stores for pointer writes.
fchkp-treat-zero-dynamic-size-as-infiniteC ObjC C++ ObjC++ LTO Report Var(flag_chkp_zero_dynamic_size_as_infinite) Init(0)With this option zero size obtained dynamically for objects withincomplete type will be treated as infinite.
fchkp-use-fast-string-functionsC ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_fast_string_functions) Init(0)Allow to use *_nobnd versions of string functions by Pointer Bounds Checker.
fchkp-use-nochk-string-functionsC ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_nochk_string_functions) Init(0)Allow to use *_nochk versions of string functions by Pointer Bounds Checker.
fchkp-use-static-boundsC ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_static_bounds) Init(1)Use statically initialized variable for vars bounds instead ofgenerating them each time it is required.
fchkp-use-static-const-boundsC ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_static_const_bounds) Init(-1)Use statically initialized variable for constant bounds instead ofgenerating them each time it is required.
fchkp-use-wrappersC ObjC C++ ObjC++ LTO Report Var(flag_chkp_use_wrappers) Init(1)Transform instrumented builtin calls into calls to wrappers.
fchkp-zero-input-bounds-for-mainC ObjC C++ ObjC++ LTO Report Var(flag_chkp_zero_input_bounds_for_main) Init(0)Use zero bounds for all incoming arguments in 'main' function.  It helps wheninstrumented binaries are used with legacy libs.
fcilkplusC ObjC C++ ObjC++ LTO Report Var(flag_cilkplus) Init(0)Enable Cilk Plus.
fclasspath=Java JoinedOrMissing RejectNegative--classpath=<path>	Set class path.
fcoarray=Fortran RejectNegative Joined Enum(gfc_fcoarray) Var(flag_coarray) Init(GFC_FCOARRAY_NONE)-fcoarray=<none|single|lib>	Specify which coarray parallelization should be used.
fcombine-stack-adjustmentsCommon Report Var(flag_combine_stack_adjustments) OptimizationLooks for opportunities to reduce stack adjustments and stack references.
fcommonCommon Report Var(flag_no_common,0)Do not put uninitialized globals in the common section.
fcompare-debugDriver
fcompare-debug-secondCommon Driver RejectNegative Var(flag_compare_debug)Run only the second compilation of -fcompare-debug.
fcompare-debug=Common Driver JoinedOrMissing RejectNegative Var(flag_compare_debug_opt)-fcompare-debug[=<opts>]	Compile with and without e.g. -gtoggle, and compare the final-insns dump.
fcompare-elimCommon Report Var(flag_compare_elim_after_reload) OptimizationPerform comparison elimination after register allocation has finished.
fcompile-resource=Java Joined RejectNegative
fconceptsC++ ObjC++ Var(flag_concepts)Enable support for C++ concepts.
fcond-mismatchC ObjC C++ ObjC++Allow the arguments of the '?' operator to have different types.
fconserve-spaceC++ ObjC++ Var(flag_conserve_space)Does nothing.  Preserved for backward compatibility.
fconserve-stackCommon Var(flag_conserve_stack) OptimizationDo not perform optimizations increasing noticeably stack usage.
fconstant-string-class=ObjC ObjC++ Joined MissingArgError(no class name specified with %qs)-fconst-string-class=<name>	Use class <name> for constant strings.
fconstexpr-depth=C++ ObjC++ Joined RejectNegative UInteger Var(max_constexpr_depth) Init(512)-fconstexpr-depth=<number>	Specify maximum constexpr recursion depth.
fconvert=Fortran RejectNegative Joined Enum(gfc_convert) Var(flag_convert) Init(GFC_FLAG_CONVERT_NATIVE)-fconvert=<big-endian|little-endian|native|swap> The endianness used for unformatted files.
fcprop-registersCommon Report Var(flag_cprop_registers) OptimizationPerform a register copy-propagation optimization pass.
fcray-pointerFortran Var(flag_cray_pointer)Use the Cray Pointer extension.
fcrossjumpingCommon Report Var(flag_crossjumping) OptimizationPerform cross-jumping optimization.
fcse-follow-jumpsCommon Report Var(flag_cse_follow_jumps) OptimizationWhen running CSE, follow jumps to their targets.
fcse-skip-blocksCommon IgnoreDoes nothing.  Preserved for backward compatibility.
fcx-fortran-rulesCommon Report Var(flag_cx_fortran_rules) OptimizationComplex multiplication and division follow Fortran rules.
fcx-limited-rangeCommon Report Var(flag_cx_limited_range) Optimization SetByCombinedOmit range reduction step when performing complex division.
fd-lines-as-codeFortran RejectNegativeIgnore 'D' in column one in fixed form.
fd-lines-as-commentsFortran RejectNegativeTreat lines with 'D' in column one as comments.
fdata-sectionsCommon Report Var(flag_data_sections)Place data items into their own section.
fdbg-cnt-listCommon Report Var(common_deferred_options) DeferList all available debugging counters with their limits and counts.
fdbg-cnt=Common RejectNegative Joined Var(common_deferred_options) Defer-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...]	Set the debug counter limit.
fdceCommon Var(flag_dce) Init(1) OptimizationUse the RTL dead code elimination pass.
fdebug-cppC ObjC C++ ObjC++Emit debug annotations during preprocessing.
fdebug-prefix-map=Common Joined RejectNegative Var(common_deferred_options) DeferMap one directory name to another in debug information.
fdebug-types-sectionCommon Report Var(flag_debug_types_section) Init(0)Output .debug_types section when using DWARF v4 debuginfo.
fdecFortranEnable all DEC language extensions.
fdec-structureFortranEnable support for DEC STRUCTURE/RECORD.
fdeclone-ctor-dtorC++ ObjC++ Var(flag_declone_ctor_dtor) Init(-1)Factor complex constructors and destructors to favor space over speed.
fdeduce-init-listC++ ObjC++ Var(flag_deduce_init_list) Init(0)-fdeduce-init-list	enable deduction of std::initializer_list for a template type parameter from a brace-enclosed initializer-list.
fdefault-double-8Fortran Var(flag_default_double)Set the default double precision kind to an 8 byte wide type.
fdefault-inlineC++ ObjC++ IgnoreDoes nothing.  Preserved for backward compatibility.
fdefault-integer-8Fortran Var(flag_default_integer)Set the default integer kind to an 8 byte wide type.
fdefault-real-8Fortran Var(flag_default_real)Set the default real kind to an 8 byte wide type.
fdefer-popCommon Report Var(flag_defer_pop) OptimizationDefer popping functions args from stack until later.
fdelayed-branchCommon Report Var(flag_delayed_branch) OptimizationAttempt to fill delay slots of branch instructions.
fdelete-dead-exceptionsCommon Report Var(flag_delete_dead_exceptions) Init(0) OptimizationDelete dead instructions that may throw exceptions.
fdelete-null-pointer-checksCommon Report Var(flag_delete_null_pointer_checks) Init(-1) OptimizationDelete useless null pointer checks.
fdevirtualizeCommon Report Var(flag_devirtualize) OptimizationTry to convert virtual calls to direct ones.
fdevirtualize-at-ltransCommon Report Var(flag_ltrans_devirtualize)Stream extra data to support more aggressive devirtualization in LTO local transformation mode.
fdevirtualize-speculativelyCommon Report Var(flag_devirtualize_speculatively) OptimizationPerform speculative devirtualization.
fdiagnostics-colorCommon Alias(fdiagnostics-color=,always,never)
fdiagnostics-color=Driver Common Joined RejectNegative Var(flag_diagnostics_show_color) Enum(diagnostic_color_rule) Init(DIAGNOSTICS_COLOR_NO)-fdiagnostics-color=[never|always|auto]	Colorize diagnostics.
fdiagnostics-show-caretCommon Var(flag_diagnostics_show_caret) Init(1)Show the source line with a caret indicating the column.
fdiagnostics-show-location=Common Joined RejectNegative Enum(diagnostic_prefixing_rule)-fdiagnostics-show-location=[once|every-line]	How often to emit source location at the beginning of line-wrapped diagnostics.
fdiagnostics-show-optionCommon Var(flag_diagnostics_show_option) Init(1)Amend appropriate diagnostic messages with the command line option that controls them.
fdirectives-onlyC ObjC C++ ObjC++Preprocess directives only.
fdisable-Common Joined RejectNegative Var(common_deferred_options) Defer-fdisable-[tree|rtl|ipa]-<pass>=range1+range2 disables an optimization pass.
fdisable-assertionsJava
fdisable-assertions=Java JoinedOrMissing
fdollar-okFortran Var(flag_dollar_ok)Allow dollar signs in entity names.
fdollars-in-identifiersC ObjC C++ ObjC++Permit '$' as an identifier character.
fdseCommon Var(flag_dse) Init(1) OptimizationUse the RTL dead store elimination pass.
fdump-Common Joined RejectNegative Var(common_deferred_options) Defer-fdump-<type>	Dump various compiler internals to a file.
fdump-ada-specC ObjC C++ ObjC++ RejectNegative Var(flag_dump_ada_spec)Write all declarations as Ada code transitively.
fdump-ada-spec-slimC ObjC C++ ObjC++ RejectNegative Var(flag_dump_ada_spec_slim)Write all declarations as Ada code for the given file only.
fdump-coreFortran IgnoreDoes nothing. Preserved for backward compatibility.
fdump-final-insnsDriver RejectNegative
fdump-final-insns=Common RejectNegative Joined Var(flag_dump_final_insns)-fdump-final-insns=filename	Dump to filename the insns at the end of translation.
fdump-fortran-optimizedFortran Var(flag_dump_fortran_optimized)Display the code tree after front end optimization.
fdump-fortran-originalFortran Var(flag_dump_fortran_original)Display the code tree after parsing.
fdump-go-spec=Common RejectNegative Joined Var(flag_dump_go_spec)-fdump-go-spec=filename	Write all declarations to file as Go code.
fdump-internal-locationsCommon Var(flag_dump_locations) Init(0)Dump detailed information on GCC's internal representation of source code locations.
fdump-noaddrCommon Report Var(flag_dump_noaddr)Suppress output of addresses in debugging dumps.
fdump-parse-treeFortran Alias(fdump-fortran-original)Display the code tree after parsing; deprecated option.
fdump-passesCommon Var(flag_dump_passes) Init(0)Dump optimization passes.
fdump-unnumberedCommon Report Var(flag_dump_unnumbered)Suppress output of instruction numbers, line number notes and addresses in debugging dumps.
fdump-unnumbered-linksCommon Report Var(flag_dump_unnumbered_links)Suppress output of previous and next insn numbers in debugging dumps.
fdwarf2-cfi-asmCommon Report Var(flag_dwarf2_cfi_asm) Init(HAVE_GAS_CFI_DIRECTIVE)Enable CFI tables via GAS assembler directives.
fearly-inliningCommon Report Var(flag_early_inlining) Init(1) OptimizationPerform early inlining.
felide-constructorsC++ ObjC++ Var(flag_elide_constructors) Init(1)
feliminate-dwarf2-dupsCommon Report Var(flag_eliminate_dwarf2_dups)Perform DWARF duplicate elimination.
feliminate-unused-debug-symbolsCommon Report Var(flag_debug_only_used_symbols)Perform unused symbol elimination in debug info.
feliminate-unused-debug-typesCommon Report Var(flag_eliminate_unused_debug_types) Init(1)Perform unused type elimination in debug info.
femit-class-debug-alwaysCommon Report Var(flag_emit_class_debug_always) Init(0)Do not suppress C++ class debug information.
femit-class-fileJava Var(flag_emit_class_files)Output a class file.
femit-class-filesJava Var(flag_emit_class_files)Alias for -femit-class-file.
femit-struct-debug-baseonlyC ObjC C++ ObjC++-femit-struct-debug-baseonly	Aggressive reduced debug info for structs.
femit-struct-debug-detailed=C ObjC C++ ObjC++ Joined-femit-struct-debug-detailed=<spec-list>	Detailed reduced debug info for structs.
femit-struct-debug-reducedC ObjC C++ ObjC++-femit-struct-debug-reduced	Conservative reduced debug info for structs.
fenable-Common Joined RejectNegative Var(common_deferred_options) Defer-fenable-[tree|rtl|ipa]-<pass>=range1+range2 enables an optimization pass.
fenable-assertionsJava
fenable-assertions=Java JoinedOrMissing
fencoding=Java Joined RejectNegative--encoding=<encoding>	Choose input encoding (defaults from your locale).
fenforce-eh-specsC++ ObjC++ Var(flag_enforce_eh_specs) Init(1)Generate code to check exception specifications.
fenum-int-equivC++ ObjC++ Ignore Warn(switch %qs is no longer supported)
fexceptionsCommon Report Var(flag_exceptions) OptimizationEnable exception handling.
fexcess-precision=Common Joined RejectNegative Enum(excess_precision) Var(flag_excess_precision_cmdline) Init(EXCESS_PRECISION_DEFAULT)-fexcess-precision=[fast|standard]	Specify handling of excess floating-point precision.
fexec-charset=C ObjC C++ ObjC++ Joined RejectNegative-fexec-charset=<cset>	Convert all strings and character constants to character set <cset>.
fexpensive-optimizationsCommon Report Var(flag_expensive_optimizations) OptimizationPerform a number of minor, expensive optimizations.
fext-numeric-literalsC++ ObjC++Interpret imaginary, fixed-point, or other gnu number suffix as the correspondingnumber literal rather than a user-defined number literal.
fextdirs=Java Joined RejectNegative--extdirs=<path>	Set the extension directory path.
fextended-identifiersC ObjC C++ ObjC++Permit universal character names (\\u and \\U) in identifiers.
fextern-tls-initC++ ObjC++ Var(flag_extern_tls_init) Init(-1)Support dynamic initialization of thread-local variables in a different translation unit.
fexternal-blasFortran Var(flag_external_blas)Specify that an external BLAS library should be used for matmul calls on large-size arrays.
fexternal-templatesC++ ObjC++ Ignore Warn(switch %qs is no longer supported)
ff2cFortran Var(flag_f2c)Use f2c calling convention.
ffast-mathCommon
ffat-lto-objectsCommon Var(flag_fat_lto_objects)Output lto objects containing both the intermediate language and binary output.
ffile-prefix-map=C ObjC C++ ObjC++ Joined RejectNegative-ffile-prefix-map=<old=new>	Map one directory name to another in __FILE__, __BASE_FILE__ and __builtin_FILE ()
ffilelist-fileJava Var(flag_filelist_file)Input file is a file with a list of filenames to compile.
ffinite-math-onlyCommon Report Var(flag_finite_math_only) Optimization SetByCombinedAssume no NaNs or infinities are generated.
ffixed-Common Joined RejectNegative Var(common_deferred_options) Defer-ffixed-<register>	Mark <register> as being unavailable to the compiler.
ffixed-formFortran RejectNegativeAssume that the source file is fixed form.
ffixed-line-length-Fortran RejectNegative Joined UInteger Var(flag_fixed_line_length) Init(72)-ffixed-line-length-<n>	Use n as character line width in fixed mode.
ffixed-line-length-noneFortran RejectNegative Var(flag_fixed_line_length,0)Allow arbitrary character line width in fixed mode.
ffloat-storeCommon Report Var(flag_float_store) OptimizationDon't allocate floats and doubles in extended-precision registers.
ffor-scopeC++ ObjC++ Var(flag_new_for_scope) Init(1)Scope of for-init-statement variables is local to the loop.
fforce-addrCommon IgnoreDoes nothing.  Preserved for backward compatibility.
fforce-classes-archive-checkJava Var(flag_force_classes_archive_check)Always check for non gcj generated classes archives.
fforward-propagateCommon Report Var(flag_forward_propagate) OptimizationPerform a forward propagation pass on RTL.
ffp-contract=Common Joined RejectNegative Enum(fp_contract_mode) Var(flag_fp_contract_mode) Init(FP_CONTRACT_FAST) Optimization-ffp-contract=[off|on|fast] Perform floating-point expression contraction.
ffpe-summary=Fortran RejectNegative JoinedOrMissing-ffpe-summary=[...]	Print summary of floating point exceptions.
ffpe-trap=Fortran RejectNegative JoinedOrMissing-ffpe-trap=[...]	Stop on following floating point exceptions.
ffree-formFortran RejectNegativeAssume that the source file is free form.
ffree-line-length-Fortran RejectNegative Joined UInteger Var(flag_free_line_length) Init(132)-ffree-line-length-<n>	Use n as character line width in free mode.
ffree-line-length-noneFortran RejectNegative Var(flag_free_line_length,0)Allow arbitrary character line width in free mode.
ffreestandingC ObjC C++ ObjC++Do not assume that standard C libraries and \"main\" exist.
ffriend-injectionC++ ObjC++ Var(flag_friend_injection)Inject friend functions into enclosing namespace.
ffrontend-optimizeFortran Var(flag_frontend_optimize) Init(-1)Enable front end optimization.
ffunction-cseCommon Report Var(flag_no_function_cse,0) OptimizationAllow 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) OptimizationPerform global common subexpression elimination.
fgcse-after-reloadCommon Report Var(flag_gcse_after_reload) OptimizationPerform global common subexpression elimination after register allocation hasfinished.
fgcse-lasCommon Report Var(flag_gcse_las) Init(0) OptimizationPerform redundant load after store elimination in global common subexpressionelimination.
fgcse-lmCommon Report Var(flag_gcse_lm) Init(1) OptimizationPerform enhanced load motion during global common subexpression elimination.
fgcse-smCommon Report Var(flag_gcse_sm) Init(0) OptimizationPerform store motion after global common subexpression elimination.
fgnat-encodings=Common Enum(dwarf_gnat_encodings) Joined RejectNegative Report Undocumented Var(gnat_encodings)-fgnat-encodings=[all|gdb|minimal]	Select the balance between GNAT encodings and standard DWARF emitted in the debug information
fgnu-keywordsC++ ObjC++ Var(flag_no_gnu_keywords, 0)Recognize GNU-defined keywords.
fgnu-runtimeObjC ObjC++ LTO Report RejectNegative Var(flag_next_runtime,0) Init(NEXT_OBJC_RUNTIME)Generate code for GNU runtime environment.
fgnu-tmCommon Report Var(flag_tm)Enable support for GNU transactional memory.
fgnu-uniqueCommon Report Var(flag_gnu_unique) Init(1)Use STB_GNU_UNIQUE if supported by the assembler.
fgnu89-inlineC ObjC Var(flag_gnu89_inline) Init(-1)Use traditional GNU semantics for inline functions.
fgo-check-divide-overflowGo Var(go_check_divide_overflow) Init(1)Add explicit checks for division overflow in INT_MIN / -1.
fgo-check-divide-zeroGo Var(go_check_divide_zero) Init(1)Add explicit checks for division by zero.
fgo-dump-Go Joined RejectNegative-fgo-dump-<type>	Dump Go frontend internal information.
fgo-optimize-Go Joined RejectNegative-fgo-optimize-<type>	Turn on optimization passes in the frontend.
fgo-pkgpath=Go Joined RejectNegative-fgo-pkgpath=<string>	Set Go package path.
fgo-prefix=Go Joined RejectNegative-fgo-prefix=<string>	Set package-specific prefix for exported Go names.
fgo-relative-import-path=Go Joined RejectNegative-fgo-relative-import-path=<path> Treat a relative import as relative to path.
fgraphiteCommon Report Var(flag_graphite) OptimizationEnable in and out of Graphite representation.
fgraphite-identityCommon Report Var(flag_graphite_identity) OptimizationEnable Graphite Identity transformation.
fguess-branch-probabilityCommon Report Var(flag_guess_branch_prob) OptimizationEnable guessing of branch probabilities.
fguiding-declsC++ ObjC++ Ignore Warn(switch %qs is no longer supported)
fhandle-exceptionsC++ ObjC++ Optimization Alias(fexceptions) Warn({-fhandle-exceptions has been renamed -fexceptions (and is now on by default)})
fhash-synchronizationJava Var(flag_hash_synchronization)Assume the runtime uses a hash table to map an object to its synchronization structure.
fhelpCommon Driver Alias(-help)
fhelp=Common Driver Joined Alias(-help=)
fhoist-adjacent-loadsCommon Report Var(flag_hoist_adjacent_loads) OptimizationEnable hoisting adjacent loads to encourage generating conditional moveinstructions.
fhonor-stdC++ ObjC++ Ignore Warn(switch %qs is no longer supported)
fhostedC ObjCAssume normal C execution environment.
fhuge-objectsC++ ObjC++ Ignore Warn(switch %qs is no longer supported)No longer supported.
fidentCommon Report Var(flag_no_ident,0)Process #ident directives.
fif-conversionCommon Report Var(flag_if_conversion) OptimizationPerform conversion of conditional jumps to branchless equivalents.
fif-conversion2Common Report Var(flag_if_conversion2) OptimizationPerform conversion of conditional jumps to conditional execution.
fimplement-inlinesC++ ObjC++ Var(flag_implement_inlines) Init(1)Export functions even if they can be inlined.
fimplicit-inline-templatesC++ ObjC++ Var(flag_implicit_inline_templates) Init(1)Emit implicit instantiations of inline templates.
fimplicit-noneFortran Var(flag_implicit_none)Specify that no implicit typing is allowed, unless overridden by explicit IMPLICIT statements.
fimplicit-templatesC++ ObjC++ Var(flag_implicit_templates) Init(1)Emit implicit instantiations of templates.
findirect-classesJava Var(flag_indirect_classes) Init(1)Generate instances of Class at runtime.
findirect-dispatchJava Var(flag_indirect_dispatch)Use offset tables for virtual method calls.
findirect-inliningCommon Report Var(flag_indirect_inlining) OptimizationPerform indirect inlining.
finhibit-size-directiveCommon Report Var(flag_inhibit_size_directive)Do not generate .size directives.
finit-character=Fortran RejectNegative Joined UInteger-finit-character=<n>	Initialize local character variables to ASCII value n.
finit-integer=Fortran RejectNegative Joined-finit-integer=<n>	Initialize local integer variables to n.
finit-local-zeroFortranInitialize local variables to zero (from g77).
finit-logical=Fortran RejectNegative Joined-finit-logical=<true|false>	Initialize local logical variables.
finit-real=Fortran RejectNegative ToLower Joined Enum(gfc_init_local_real) Var(flag_init_real) Init(GFC_INIT_REAL_OFF)-finit-real=<zero|snan|nan|inf|-inf>	Initialize local real variables.
finlineCommon Report Var(flag_no_inline,0) Init(0) OptimizationEnable inlining of function declared \"inline\", disabling disables all inlining.
finline-atomicsCommon Report Var(flag_inline_atomics) Init(1) OptimizationInline __atomic operations when a lock free instruction sequence is available.
finline-functionsCommon Report Var(flag_inline_functions) OptimizationIntegrate functions not declared \"inline\" into their callers when profitable.
finline-functionsJava
finline-functions-called-onceCommon Report Var(flag_inline_functions_called_once) OptimizationIntegrate functions only required by their single caller.
finline-limit-Common RejectNegative Joined Alias(finline-limit=)
finline-limit=Common RejectNegative Joined UInteger-finline-limit=<number>	Limit the size of inlined functions to <number>.
finline-matmul-limit=Fortran RejectNegative Joined UInteger Var(flag_inline_matmul_limit) Init(-1)-finline-matmul-limit=<n>	Specify the size of the largest matrix for which matmul will be inlined.
finline-small-functionsCommon Report Var(flag_inline_small_functions) OptimizationIntegrate functions into their callers when code size is known not to grow.
finput-charset=C ObjC C++ ObjC++ Joined RejectNegative-finput-charset=<cset>	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.
finstrument-functions-exclude-file-list=Common RejectNegative Joined-finstrument-functions-exclude-file-list=filename,...  Do not instrument functions listed in files.
finstrument-functions-exclude-function-list=Common RejectNegative Joined-finstrument-functions-exclude-function-list=name,...  Do not instrument listed functions.
finteger-4-integer-8Fortran RejectNegative Var(flag_integer4_kind,8)Interpret any INTEGER(4) as an INTEGER(8).
fintrinsic-modules-pathFortran RejectNegative SeparateSpecify where to find the compiled intrinsic modules.
fintrinsic-modules-path=Fortran RejectNegative JoinedSpecify where to find the compiled intrinsic modules.
fipa-cpCommon Report Var(flag_ipa_cp) OptimizationPerform interprocedural constant propagation.
fipa-cp-alignmentCommon Report Var(flag_ipa_cp_alignment) OptimizationPerform alignment discovery and propagation to make Interprocedural constant propagation stronger.
fipa-cp-cloneCommon Report Var(flag_ipa_cp_clone) OptimizationPerform cloning to make Interprocedural constant propagation stronger.
fipa-icfCommon Report Var(flag_ipa_icf) OptimizationPerform Identical Code Folding for functions and read-only variables.
fipa-icf-functionsCommon Report Var(flag_ipa_icf_functions) OptimizationPerform Identical Code Folding for functions.
fipa-icf-variablesCommon Report Var(flag_ipa_icf_variables)Perform Identical Code Folding for variables.
fipa-matrix-reorgCommon IgnoreDoes nothing. Preserved for backward compatibility.
fipa-profileCommon Report Var(flag_ipa_profile) Init(0) OptimizationPerform interprocedural profile propagation.
fipa-ptaCommon Report Var(flag_ipa_pta) Init(0) OptimizationPerform interprocedural points-to analysis.
fipa-pure-constCommon Report Var(flag_ipa_pure_const) Init(0) OptimizationDiscover pure and const functions.
fipa-raCommon Report Var(flag_ipa_ra) OptimizationUse caller save register across calls if possible.
fipa-referenceCommon Report Var(flag_ipa_reference) Init(0) OptimizationDiscover readonly and non addressable static variables.
fipa-sraCommon Report Var(flag_ipa_sra) Init(0) OptimizationPerform interprocedural reduction of aggregates.
fipa-struct-reorgCommon IgnoreDoes nothing. Preserved for backward compatibility.
fira-algorithm=Common Joined RejectNegative Enum(ira_algorithm) Var(flag_ira_algorithm) Init(IRA_ALGORITHM_CB) Optimization-fira-algorithm=[CB|priority] Set the used IRA algorithm.
fira-hoist-pressureCommon Report Var(flag_ira_hoist_pressure) Init(1) OptimizationUse IRA based register pressure calculationin RTL hoist optimizations.
fira-loop-pressureCommon Report Var(flag_ira_loop_pressure) OptimizationUse IRA based register pressure calculationin RTL loop optimizations.
fira-region=Common Joined RejectNegative Enum(ira_region) Var(flag_ira_region) Init(IRA_REGION_AUTODETECT) Optimization-fira-region=[one|all|mixed] Set regions for IRA.
fira-share-save-slotsCommon Report Var(flag_ira_share_save_slots) Init(1) OptimizationShare slots for saving different hard registers.
fira-share-spill-slotsCommon Report Var(flag_ira_share_spill_slots) Init(1) OptimizationShare stack slots for spilled pseudo-registers.
fira-verbose=Common RejectNegative Joined UInteger Var(flag_ira_verbose) Init(5)-fira-verbose=<number>	Control IRA's level of diagnostic messages.
fisolate-erroneous-paths-attributeCommon Report Var(flag_isolate_erroneous_paths_attribute) OptimizationDetect paths that trigger erroneous or undefined behavior due a null valuebeing used in a way forbidden by a returns_nonnull or nonnullattribute.  Isolate those paths from the main control flow and turn thestatement with erroneous or undefined behavior into a trap.
fisolate-erroneous-paths-dereferenceCommon Report Var(flag_isolate_erroneous_paths_dereference) OptimizationDetect paths that trigger erroneous or undefined behavior due todereferencing a null pointer.  Isolate those paths from the main controlflow and turn the statement with erroneous or undefined behavior into a trap.
fivar-visibility=ObjC ObjC++ Joined RejectNegative Enum(ivar_visibility) Var(default_ivar_visibility) Init(IVAR_VISIBILITY_PROTECTED)-fvisibility=[private|protected|public|package]	Set the default symbol visibility.
fivoptsCommon Report Var(flag_ivopts) Init(1) OptimizationOptimize induction variables on trees.
fjniJava Var(flag_jni)Assume native functions are implemented using JNI.
fjump-tablesCommon Var(flag_jump_tables) Init(1) OptimizationUse jump tables for sufficiently large switch statements.
fkeep-gc-roots-liveCommon Undocumented Report Var(flag_keep_gc_roots_live) Optimization
fkeep-inline-dllexportC C++ ObjC ObjC++ Var(flag_keep_inline_dllexport) Init(1) Report Condition(TARGET_DLLIMPORT_DECL_ATTRIBUTES)Don't emit dllexported inline functions unless needed.
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.
fkeep-static-functionsCommon Report Var(flag_keep_static_functions)Generate code for static functions even if they are never called.
flabels-okC++ ObjC++ Ignore Warn(switch %qs is no longer supported)
flax-vector-conversionsC ObjC C++ ObjC++ Var(flag_lax_vector_conversions)Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types.
fleading-underscoreCommon Report Var(flag_leading_underscore) Init(-1)Give external symbols a leading underscore.
flifetime-dseCommon Report Var(flag_lifetime_dse,2) Init(2) OptimizationTell DSE that the storage for a C++ object is dead when the constructorstarts and when the destructor finishes.
flifetime-dse=Common Joined RejectNegative UInteger Var(flag_lifetime_dse) Optimization
flinker-output=LTO Report Driver Joined RejectNegative Enum(lto_linker_output) Var(flag_lto_linker_output) Init(LTO_LINKER_OUTPUT_UNKNOWN)Set linker output type (used internally during LTO optimization)
flive-range-shrinkageCommon Report Var(flag_live_range_shrinkage) Init(0) OptimizationRelief of register pressure through live range shrinkage.
flocal-ivarsObjC ObjC++ Var(flag_local_ivars) Init(1)Allow access to instance variables as if they were local declarations within instance method implementations.
floop-blockCommon Alias(floop-nest-optimize)Enable loop nest transforms.  Same as -floop-nest-optimize.
floop-flattenCommon IgnoreDoes nothing. Preserved for backward compatibility.
floop-interchangeCommon Alias(floop-nest-optimize)Enable loop nest transforms.  Same as -floop-nest-optimize.
floop-nest-optimizeCommon Report Var(flag_loop_nest_optimize) OptimizationEnable the loop nest optimizer.
floop-optimizeCommon IgnoreDoes nothing.  Preserved for backward compatibility.
floop-parallelize-allCommon Report Var(flag_loop_parallelize_all) OptimizationMark all loops as parallel.
floop-strip-mineCommon Alias(floop-nest-optimize)Enable loop nest transforms.  Same as -floop-nest-optimize.
floop-unroll-and-jamCommon Alias(floop-nest-optimize)Enable loop nest transforms.  Same as -floop-nest-optimize.
flra-rematCommon Report Var(flag_lra_remat) OptimizationDo CFG-sensitive rematerialization in LRA.
fltoCommonEnable link-time optimization.
flto-compression-level=Common Joined RejectNegative UInteger Var(flag_lto_compression_level) Init(-1)-flto-compression-level=<number>	Use zlib compression level <number> for IL.
flto-odr-type-mergingCommon Report Var(flag_lto_odr_type_mering) Init(1)Merge C++ types using One Definition Rule.
flto-partition=Common Joined RejectNegative Enum(lto_partition_model) Var(flag_lto_partition) Init(LTO_PARTITION_BALANCED)Specify the algorithm to partition symbols and vars at linktime.
flto-reportCommon Report Var(flag_lto_report) Init(0)Report various link-time optimization statistics.
flto-report-wpaCommon Report Var(flag_lto_report_wpa) Init(0)Report various link-time optimization statistics for WPA only.
flto=Common RejectNegative Joined Var(flag_lto)Link-time optimization with number of parallel jobs or jobserver.
fltransLTO Report Var(flag_ltrans)Run the link-time optimizer in local transformation (LTRANS) mode.
fltrans-output-list=LTO Joined Var(ltrans_output_list)Specify a file to which a list of files output by LTRANS is written.
fmain=Driver JoinedOrMissing RejectNegative
fmath-errnoCommon Report Var(flag_errno_math) Init(1) Optimization SetByCombinedSet errno after built-in math functions.
fmax-array-constructor=Fortran RejectNegative Joined UInteger Var(flag_max_array_constructor) Init(65535)-fmax-array-constructor=<n>	Maximum number of objects in an array constructor.
fmax-errors=Common Joined RejectNegative UInteger Var(flag_max_errors)-fmax-errors=<number>	Maximum number of errors to report.
fmax-identifier-length=Fortran RejectNegative Joined UInteger-fmax-identifier-length=<n>	Maximum identifier length.
fmax-stack-var-size=Fortran RejectNegative Joined UInteger Var(flag_max_stack_var_size) Init(-2)-fmax-stack-var-size=<n>	Size in bytes of the largest array that will be put on the stack.
fmax-subrecord-length=Fortran RejectNegative Joined UInteger Var(flag_max_subrecord_length)-fmax-subrecord-length=<n>	Maximum length for subrecords.
fmem-reportCommon Report Var(mem_report)Report on permanent memory allocation.
fmem-report-wpaCommon Report Var(mem_report_wpa)Report on permanent memory allocation in WPA only.
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)Attempt to merge identical constants across compilation units.
fmerge-debug-stringsCommon Report Var(flag_merge_debug_strings) Init(1)Attempt to merge identical debug strings across compilation units.
fmessage-length=Common RejectNegative Joined UInteger-fmessage-length=<number>	Limit diagnostics to <number> characters per line.  0 suppresses line-wrapping.
fmodule-privateFortran Var(flag_module_private)Set default accessibility of module entities to PRIVATE.
fmodulo-schedCommon Report Var(flag_modulo_sched) OptimizationPerform SMS based modulo scheduling before the first scheduling pass.
fmodulo-sched-allow-regmovesCommon Report Var(flag_modulo_sched_allow_regmoves) OptimizationPerform SMS based modulo scheduling with register moves allowed.
fmove-loop-invariantsCommon Report Var(flag_move_loop_invariants) OptimizationMove loop invariant computations out of loops.
fms-extensionsC ObjC C++ ObjC++ Var(flag_ms_extensions)Don't warn about uses of Microsoft extensions.
fmudflapC ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
fmudflapirC ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
fmudflapthC ObjC C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
fname-mangling-version-C++ ObjC++ Joined Ignore Warn(switch %qs is no longer supported)
fnew-abiC++ ObjC++ Ignore Warn(switch %qs is no longer supported)
fnext-runtimeObjC ObjC++ LTO Report RejectNegative Var(flag_next_runtime)Generate code for NeXT (Apple Mac OS X) runtime environment.
fnil-receiversObjC ObjC++ Var(flag_nil_receivers) Init(1)Assume that receivers of Objective-C messages may be nil.
fno-vect-cost-modelCommon RejectNegative Alias(fvect-cost-model=,unlimited)Enables the unlimited vectorizer cost model.  Preserved for backward compatibility.
fnon-call-exceptionsCommon Report Var(flag_non_call_exceptions) OptimizationSupport synchronous non-call exceptions.
fnonansi-builtinsC++ ObjC++ Var(flag_no_nonansi_builtin, 0)
fnonnull-objectsC++ ObjC++ Ignore Warn(switch %qs is no longer supported)
fnothrow-optC++ ObjC++ Optimization Var(flag_nothrow_opt)Treat a throw() exception specification as noexcept to improve code size.
fobjc-abi-version=ObjC ObjC++ LTO Joined Report RejectNegative UInteger Var(flag_objc_abi)Specify which ABI to use for Objective-C family code and meta-data generation.
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++ LTO Var(flag_objc_gc)Enable garbage collection (GC) in Objective-C/Objective-C++ programs.
fobjc-nilcheckObjC ObjC++ Var(flag_objc_nilcheck,1)Enable inline checks for nil receivers with the NeXT runtime and ABI version 2.
fobjc-sjlj-exceptionsObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1)Enable Objective-C setjmp exception handling runtime.
fobjc-std=objc1ObjC ObjC++ Var(flag_objc1_only)Conform to the Objective-C 1.0 language as implemented in GCC 4.0.
foffload-abi=Common Joined RejectNegative Enum(offload_abi) Var(flag_offload_abi) Init(OFFLOAD_ABI_UNSET)-foffload-abi=[lp64|ilp32]     Set the ABI to use in an offload compiler.
foffload=Common Driver Joined MissingArgError(options or targets missing after %qs)-foffload=<targets>=<options>  Specify offloading targets and options for them.
fomit-frame-pointerCommon Report Var(flag_omit_frame_pointer) OptimizationWhen possible do not generate stack frames.
fopenaccC ObjC C++ ObjC++ LTO Var(flag_openacc)Enable OpenACC.
fopenaccFortran LTO
fopenacc-dim=C ObjC C++ ObjC++ LTO Joined Var(flag_openacc_dims)Specify default OpenACC compute dimensions.
fopenacc-dim=Fortran LTO Joined Var(flag_openacc_dims)
fopenmpC ObjC C++ ObjC++ LTO Var(flag_openmp)Enable OpenMP (implies -frecursive in Fortran).
fopenmpFortran LTO
fopenmp-simdC ObjC C++ ObjC++ Var(flag_openmp_simd)Enable OpenMP's SIMD directives.
fopenmp-simdFortran
foperator-namesC++ ObjC++Recognize C++ keywords like \"compl\" and \"xor\".
fopt-infoCommon Report Var(flag_opt_info) OptimizationEnable all optimization info dumps on stderr.
fopt-info-Common Joined RejectNegative Var(common_deferred_options) Defer-fopt-info[-<type>=filename]	Dump compiler optimization details.
foptimize-register-moveCommon IgnoreDoes nothing. Preserved for backward compatibility.
foptimize-sibling-callsCommon Report Var(flag_optimize_sibling_calls) OptimizationOptimize sibling and tail recursive calls.
foptimize-static-class-initializationJava Var(flag_optimize_sci)Enable optimization of static class initialization code.
foptimize-strlenCommon Report Var(flag_optimize_strlen) OptimizationEnable string length optimizations on trees.
foptional-diagsC++ ObjC++ IgnoreDoes nothing.  Preserved for backward compatibility.
foutput-class-dir=Java Joined RejectNegative
fpack-derivedFortran Var(flag_pack_derived)Try to lay out derived types as compactly as possible.
fpack-structCommon Report Var(flag_pack_struct) OptimizationPack structure members together without holes.
fpack-struct=Common RejectNegative Joined UInteger Optimization-fpack-struct=<number>	Set initial maximum structure member alignment.
fpartial-inliningCommon Report Var(flag_partial_inlining) OptimizationPerform partial inlining.
fpcc-struct-returnCommon Report Var(flag_pcc_struct_return,1) Init(DEFAULT_PCC_STRUCT_RETURN)Return 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) OptimizationPerform loop peeling.
fpeepholeCommon Report Var(flag_no_peephole,0) OptimizationEnable machine specific peephole optimizations.
fpeephole2Common Report Var(flag_peephole2) OptimizationEnable an RTL peephole pass before sched2.
fpermissiveC++ ObjC++ Var(flag_permissive)Downgrade conformance errors to warnings.
fpicCommon Report Var(flag_pic,1) Negative(fpie) Init(-1)Generate position-independent code if possible (small mode).
fpieCommon Report Var(flag_pie,1) Negative(fPIC) Init(-1)Generate position-independent code for executables if possible (small mode).
fplan9-extensionsC ObjC Var(flag_plan9_extensions)Enable Plan 9 language extensions.
fpltCommon Report Var(flag_plt) Init(1) OptimizationUse PLT for PIC calls (-fno-plt: load the address from GOT at call site).
fplugin-arg-Common Joined RejectNegative Var(common_deferred_options) Defer-fplugin-arg-<name>-<key>[=<value>]	Specify argument <key>=<value> for plugin <name>.
fplugin=Common Joined RejectNegative Var(common_deferred_options) DeferSpecify a plugin to load.
fpost-ipa-mem-reportCommon Report Var(post_ipa_mem_report)Report on memory allocation before interprocedural optimization.
fpre-ipa-mem-reportCommon Report Var(pre_ipa_mem_report)Report on memory allocation before interprocedural optimization.
fpredictive-commoningCommon Report Var(flag_predictive_commoning) OptimizationRun predictive commoning optimization.
fprefetch-loop-arraysCommon Report Var(flag_prefetch_loop_arrays) Init(-1) OptimizationGenerate prefetch instructions, if available, for arrays in loops.
fpreprocessedC ObjC C++ ObjC++Treat the input file as already preprocessed.
fpreprocessedFortran
fpretty-templatesC++ ObjC++ Var(flag_pretty_templates) Init(1)-fno-pretty-templates Do not pretty-print template specializations as the template signature followed by the arguments.
fprofileCommon Report Var(profile_flag)Enable basic program profiling code.
fprofile-arcsCommon Report Var(profile_arc_flag)Insert arc-based program profiling code.
fprofile-correctionCommon Report Var(flag_profile_correction)Enable correction of flow inconsistent profile data input.
fprofile-dir=Common Joined RejectNegative Var(profile_data_prefix)Set the top-level directory for storing the profile data.The default is 'pwd'.
fprofile-generateCommonEnable common options for generating profile info for profile feedback directed optimizations.
fprofile-generate=Common Joined RejectNegativeEnable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=.
fprofile-reorder-functionsCommon Report Var(flag_profile_reorder_functions)Enable function reordering that improves code placement.
fprofile-reportCommon Report Var(profile_report)Report on consistency of profile.
fprofile-useCommon Var(flag_profile_use)Enable common options for performing profile feedback directed optimizations.
fprofile-use=Common Joined RejectNegativeEnable common options for performing profile feedback directed optimizations, and set -fprofile-dir=.
fprofile-valuesCommon Report Var(flag_profile_values)Insert code to profile values of expressions.
fprotect-parensFortran Var(flag_protect_parens) Init(-1)Protect parentheses in expressions.
frandom-seedCommon Var(common_deferred_options) Defer
frandom-seed=Common Joined RejectNegative Var(common_deferred_options) Defer-frandom-seed=<string>	Make compile reproducible using <string>.
frange-checkFortran Var(flag_range_check) Init(1)Enable range checking during compilation.
freal-4-real-10Fortran RejectNegative Var(flag_real4_kind,10)Interpret any REAL(4) as a REAL(10).
freal-4-real-16Fortran RejectNegative Var(flag_real4_kind,16)Interpret any REAL(4) as a REAL(16).
freal-4-real-8Fortran RejectNegative Var(flag_real4_kind,8)Interpret any REAL(4) as a REAL(8).
freal-8-real-10Fortran RejectNegative Var(flag_real8_kind,10)Interpret any REAL(8) as a REAL(10).
freal-8-real-16Fortran RejectNegative Var(flag_real8_kind,16)Interpret any REAL(8) as a REAL(16).
freal-8-real-4Fortran RejectNegative Var(flag_real8_kind,4)Interpret any REAL(8) as a REAL(4).
frealloc-lhsFortran Var(flag_realloc_lhs) Init(-1)Reallocate the LHS in assignments.
freciprocal-mathCommon Report Var(flag_reciprocal_math) SetByCombined OptimizationSame as -fassociative-math for expressions which include division.
frecord-gcc-switchesCommon Report Var(flag_record_gcc_switches)Record gcc command line switches in the object file.
frecord-marker=4Fortran RejectNegative Var(flag_record_marker,4)Use a 4-byte record marker for unformatted files.
frecord-marker=8Fortran RejectNegative Var(flag_record_marker,8)Use an 8-byte record marker for unformatted files.
frecursiveFortran Var(flag_recursive)Allocate local variables on the stack to allow indirect recursion.
freduced-reflectionJava Var(flag_reduced_reflection)Reduce the amount of reflection meta-data generated.
freeCommon Report Var(flag_ree) Init(0)Turn on Redundant Extensions Elimination pass.
freg-struct-returnCommon Report Var(flag_pcc_struct_return,0) OptimizationReturn small aggregates in registers.
fregmoveCommon IgnoreDoes nothing. Preserved for backward compatibility.
frename-registersCommon Report Var(flag_rename_registers) Init(2) OptimizationPerform a register renaming optimization pass.
freorder-blocksCommon Report Var(flag_reorder_blocks) OptimizationReorder basic blocks to improve code placement.
freorder-blocks-algorithm=Common Joined RejectNegative Enum(reorder_blocks_algorithm) Var(flag_reorder_blocks_algorithm) Init(REORDER_BLOCKS_ALGORITHM_SIMPLE) Optimization-freorder-blocks-algorithm=[simple|stc] Set the used basic block reordering algorithm.
freorder-blocks-and-partitionCommon Report Var(flag_reorder_blocks_and_partition) OptimizationReorder basic blocks and partition into hot and cold sections.
freorder-functionsCommon Report Var(flag_reorder_functions) OptimizationReorder functions to improve code placement.
frepack-arraysFortran Var(flag_repack_arrays)Copy array sections into a contiguous block on procedure entry.
freplace-objc-classesObjC ObjC++ LTO Var(flag_replace_objc_classes)Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime.
frepoC++ ObjC++Enable automatic template instantiation.
freport-bugCommon Driver Var(flag_report_bug)Collect and dump debug information into temporary file if ICE in C/C++compiler occured.
frequire-return-statementGo Var(go_require_return_statement) Init(1) WarningFunctions which return values must end with return statements.
frerun-cse-after-loopCommon Report Var(flag_rerun_cse_after_loop) OptimizationAdd a common subexpression elimination pass after loop optimizations.
frerun-loop-optCommon IgnoreDoes nothing.  Preserved for backward compatibility.
freschedule-modulo-scheduled-loopsCommon Report Var(flag_resched_modulo_sched) OptimizationEnable/Disable the traditional scheduling in loops that already passed modulo scheduling.
fresolution=LTO JoinedThe resolution file.
frounding-mathCommon Report Var(flag_rounding_math) Optimization SetByCombinedDisable optimizations that assume default FP rounding behavior.
frttiC++ ObjC++ Optimization Var(flag_rtti) Init(1)Generate run time type descriptor information.
fsanitize-coverage=trace-pcCommon Report Var(flag_sanitize_coverage)Enable coverage-guided fuzzing code instrumentation.Inserts call to __sanitizer_cov_trace_pc into every basic block.
fsanitize-recoverCommon ReportThis switch is deprecated; use -fsanitize-recover= instead.
fsanitize-recover=Common Report JoinedAfter diagnosing undefined behavior attempt to continue execution.
fsanitize-sections=Common Joined RejectNegative Var(common_deferred_options) Defer-fsanitize-sections=<sec1,sec2,...>	Sanitize global variablesin user-defined sections.
fsanitize-undefined-trap-on-errorCommon Driver Report Var(flag_sanitize_undefined_trap_on_error) Init(0)Use trap instead of a library function for undefined behavior sanitization.
fsanitize=Common Driver Report JoinedSelect what to sanitize.
fsaw-java-fileJava Undocumented RejectNegative
fsched-critical-path-heuristicCommon Report Var(flag_sched_critical_path_heuristic) Init(1) OptimizationEnable the critical path heuristic in the scheduler.
fsched-dep-count-heuristicCommon Report Var(flag_sched_dep_count_heuristic) Init(1) OptimizationEnable the dependent count heuristic in the scheduler.
fsched-group-heuristicCommon Report Var(flag_sched_group_heuristic) Init(1) OptimizationEnable the group heuristic in the scheduler.
fsched-interblockCommon Report Var(flag_schedule_interblock) Init(1) OptimizationEnable scheduling across basic blocks.
fsched-last-insn-heuristicCommon Report Var(flag_sched_last_insn_heuristic) Init(1) OptimizationEnable the last instruction heuristic in the scheduler.
fsched-pressureCommon Report Var(flag_sched_pressure) Init(0) OptimizationEnable register pressure sensitive insn scheduling.
fsched-rank-heuristicCommon Report Var(flag_sched_rank_heuristic) Init(1) OptimizationEnable the rank heuristic in the scheduler.
fsched-specCommon Report Var(flag_schedule_speculative) Init(1) OptimizationAllow speculative motion of non-loads.
fsched-spec-insn-heuristicCommon Report Var(flag_sched_spec_insn_heuristic) Init(1) OptimizationEnable the speculative instruction heuristic in the scheduler.
fsched-spec-loadCommon Report Var(flag_schedule_speculative_load) OptimizationAllow speculative motion of some loads.
fsched-spec-load-dangerousCommon Report Var(flag_schedule_speculative_load_dangerous) OptimizationAllow speculative motion of more loads.
fsched-stalled-insnsCommon Report Var(flag_sched_stalled_insns) Optimization UIntegerAllow premature scheduling of queued insns.
fsched-stalled-insns-depCommon Report Var(flag_sched_stalled_insns_dep,1) Init(1) Optimization UIntegerSet dependence distance checking in premature scheduling of queued insns.
fsched-stalled-insns-dep=Common RejectNegative Joined UInteger Optimization-fsched-stalled-insns-dep=<number>	Set dependence distance checking in premature scheduling of queued insns.
fsched-stalled-insns=Common RejectNegative Joined UInteger Optimization-fsched-stalled-insns=<number>	Set number of queued insns that can be prematurely scheduled.
fsched-verbose=Common RejectNegative Joined UInteger Var(sched_verbose_param) Init(1)-fsched-verbose=<number>	Set the verbosity level of the scheduler.
fsched2-use-superblocksCommon Report Var(flag_sched2_use_superblocks) OptimizationIf scheduling post reload, do superblock scheduling.
fsched2-use-tracesCommon IgnoreDoes nothing.  Preserved for backward compatibility.
fschedule-fusionCommon Report Var(flag_schedule_fusion) Init(2) OptimizationPerform a target dependent instruction fusion optimization pass.
fschedule-insnsCommon Report Var(flag_schedule_insns) OptimizationReschedule instructions before register allocation.
fschedule-insns2Common Report Var(flag_schedule_insns_after_reload) OptimizationReschedule instructions after register allocation.
fsecond-underscoreFortran Var(flag_second_underscore) Init(-1)Append a second underscore if the name already contains an underscore.
fsection-anchorsCommon Report Var(flag_section_anchors) OptimizationAccess data in the same section from shared anchor points.
fseeCommon IgnoreDoes nothing.  Preserved for backward compatibility.
fsel-sched-pipeliningCommon Report Var(flag_sel_sched_pipelining) Init(0) OptimizationPerform software pipelining of inner loops during selective scheduling.
fsel-sched-pipelining-outer-loopsCommon Report Var(flag_sel_sched_pipelining_outer_loops) Init(0) OptimizationPerform software pipelining of outer loops during selective scheduling.
fsel-sched-reschedule-pipelinedCommon Report Var(flag_sel_sched_reschedule_pipelined) Init(0) OptimizationReschedule pipelined regions without pipelining.
fselective-schedulingCommon Report Var(flag_selective_scheduling) OptimizationSchedule instructions using selective scheduling algorithm.
fselective-scheduling2Common Report Var(flag_selective_scheduling2) OptimizationRun selective scheduling after reload.
fsemantic-interpositionCommon Report Var(flag_semantic_interposition) Init(1)Allow interposing function (or variables) by ones with different semantics (or initializer) respectively by dynamic linker.
fshort-enumsAda AdaWhy AdaSCILUse the narrowest integer type possible for enumeration types.
fshort-enumsC ObjC C++ ObjC++ LTO Optimization Var(flag_short_enums)Use the narrowest integer type possible for enumeration types.
fshort-enumsFortran Var(flag_short_enums)
fshort-wcharC ObjC C++ ObjC++ LTO Optimization Var(flag_short_wchar)Force the underlying type for \"wchar_t\" to be \"unsigned short\".
fshow-columnCommon Report Var(flag_show_column) Init(1)Show column numbers in diagnostics, when available.  Default on.
fshrink-wrapCommon Report Var(flag_shrink_wrap) OptimizationEmit function prologues only before parts of the function that need it,rather than at the top of the function.
fsign-zeroFortran Var(flag_sign_zero) Init(1)Apply negative sign to zero values.
fsignaling-nansCommon Report Var(flag_signaling_nans) Optimization SetByCombinedDisable optimizations observable by IEEE signaling NaNs.
fsigned-bitfieldsC ObjC C++ ObjC++ Var(flag_signed_bitfields) Init(1)When \"signed\" or \"unsigned\" is not given make the bitfield signed.
fsigned-charAda AdaWhy AdaSCILMake \"char\" signed by default.
fsigned-charC ObjC C++ ObjC++ LTO Var(flag_signed_char)Make \"char\" signed by default.
fsigned-zerosCommon Report Var(flag_signed_zeros) Init(1) Optimization SetByCombinedDisable floating point optimizations that ignore the IEEE signedness of zero.
fsimd-cost-model=Common Joined RejectNegative Enum(vect_cost_model) Var(flag_simd_cost_model) Init(VECT_COST_MODEL_UNLIMITED) OptimizationSpecifies the vectorization cost model for code marked with a simd directive.
fsingle-precision-constantCommon Report Var(flag_single_precision_constant) OptimizationConvert floating point constants to single precision constants.
fsized-deallocationC++ ObjC++ Var(flag_sized_deallocation) Init(-1)Enable C++14 sized deallocation support.
fsource-filename=Java Joined Undocumented 
fsource=Java JoinedSet the source language version.
fsplit-ivs-in-unrollerCommon Report Var(flag_split_ivs_in_unroller) Init(1) OptimizationSplit lifetimes of induction variables when loops are unrolled.
fsplit-pathsCommon Report Var(flag_split_paths) Init(0) OptimizationSplit paths leading to loop backedges.
fsplit-stackCommon Report Var(flag_split_stack) Init(-1)Generate discontiguous stack frames.
fsplit-wide-typesCommon Report Var(flag_split_wide_types) OptimizationSplit wide types into independent registers.
fsquangleC++ ObjC++ Ignore Warn(switch %qs is no longer supported)
fssa-backpropCommon Report Var(flag_ssa_backprop) Init(1) OptimizationEnable backward propagation of use properties at the SSA level.
fssa-phioptCommon Report Var(flag_ssa_phiopt) OptimizationOptimize conditional patterns using SSA PHI nodes.
fsso-struct=C ObjC Joined Enum(sso_struct) Var(default_sso) Init(SSO_NATIVE)-fsso-struct=[big-endian|little-endian]	Set the default scalar storage order.
fstack-arraysFortran Var(flag_stack_arrays) Init(-1)Put all local arrays on stack.
fstack-checkCommon Alias(fstack-check=, specific, no)Insert stack checking code into the program.  Same as -fstack-check=specific.
fstack-check=Common Report RejectNegative Joined-fstack-check=[no|generic|specific]	Insert stack checking code into the program.
fstack-limitCommon Var(common_deferred_options) Defer
fstack-limit-register=Common RejectNegative Joined Var(common_deferred_options) Defer-fstack-limit-register=<register>	Trap if the stack goes past <register>.
fstack-limit-symbol=Common RejectNegative Joined Var(common_deferred_options) Defer-fstack-limit-symbol=<name>	Trap if the stack goes past symbol <name>.
fstack-protectorCommon Report Var(flag_stack_protect, 1) Init(-1)Use propolice as a stack protection method.
fstack-protector-allCommon Report RejectNegative Var(flag_stack_protect, 2) Init(-1)Use a stack protection method for every function.
fstack-protector-explicitCommon Report RejectNegative Var(flag_stack_protect, 4)Use stack protection method only for functions with the stack_protect attribute.
fstack-protector-strongCommon Report RejectNegative Var(flag_stack_protect, 3) Init(-1)Use a smart stack protection method for certain functions.
fstack-reuse=Common Joined RejectNegative Enum(stack_reuse_level) Var(flag_stack_reuse) Init(SR_ALL) Optimization-fstack-reuse=[all|named_vars|none] Set stack reuse level for local variables.
fstack-usageCommon RejectNegative Var(flag_stack_usage)Output stack usage information on a per-function basis.
fstatsC++ ObjC++ Var(flag_detailed_statistics)Display statistics accumulated during compilation.
fstdarg-optCommon Report Var(flag_stdarg_opt) Init(1) OptimizationOptimize amount of stdarg registers saved to stack at start of function.
fstore-checkJava Var(flag_store_check) Init(1)Enable assignability checks for stores into object arrays.
fstrength-reduceCommon IgnoreDoes nothing.  Preserved for backward compatibility.
fstrict-aliasingCommon Report Var(flag_strict_aliasing) OptimizationAssume strict aliasing rules apply.
fstrict-enumsC++ ObjC++ Optimization Var(flag_strict_enums)Assume that values of enumeration type are always within the minimum range of that type.
fstrict-overflowCommon Report Var(flag_strict_overflow) OptimizationTreat signed overflow as undefined.
fstrict-prototypeC++ ObjC++ Ignore Warn(switch %qs is no longer supported)
fstrict-volatile-bitfieldsCommon Report Var(flag_strict_volatile_bitfields) Init(-1) OptimizationForce bitfield accesses to match their type width.
fsync-libcallsCommon Report Var(flag_sync_libcalls) Init(1)Implement __atomic operations via libcalls to legacy __sync functions.
fsyntax-onlyCommon Report Var(flag_syntax_only)Check for syntax errors, then stop.
ftabstop=C ObjC C++ ObjC++ Joined RejectNegative UInteger-ftabstop=<number>	Distance between tab stops for column reporting.
ftarget-helpCommon Driver Alias(-target-help)
ftarget=Java JoinedSet the target VM version.
ftemplate-backtrace-limit=C++ ObjC++ Joined RejectNegative UInteger Var(template_backtrace_limit) Init(10)Set the maximum number of template instantiation notes for a single warning or error.
ftemplate-depth-C++ ObjC++ Joined RejectNegative Undocumented Alias(ftemplate-depth=)
ftemplate-depth=C++ ObjC++ Joined RejectNegative UInteger-ftemplate-depth=<number>	Specify maximum template instantiation depth.
ftest-coverageCommon Report Var(flag_test_coverage)Create data files needed by \"gcov\".
fthis-is-variableC++ ObjC++ Ignore Warn(switch %qs is no longer supported)
fthread-jumpsCommon Report Var(flag_thread_jumps) OptimizationPerform jump threading optimizations.
fthreadsafe-staticsC++ ObjC++ Optimization Var(flag_threadsafe_statics) Init(1)-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 Enum(tls_model) Var(flag_tls_default) Init(TLS_MODEL_GLOBAL_DYNAMIC)-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]	Set the default thread-local storage code generation model.
ftoplevel-reorderCommon Report Var(flag_toplevel_reorder) Init(2)Reorder top level functions, variables, and asms.
ftracerCommon Report Var(flag_tracer) OptimizationPerform superblock formation via tail duplication.
ftrack-macro-expansionC ObjC C++ ObjC++ JoinedOrMissing RejectNegative UInteger
ftrack-macro-expansion=C ObjC C++ ObjC++ JoinedOrMissing RejectNegative UInteger-ftrack-macro-expansion=<0|1|2>  Track locations of tokens coming from macro expansion and display them in error messages.
ftrapping-mathCommon Report Var(flag_trapping_math) Init(1) Optimization SetByCombinedAssume floating-point operations can trap.
ftrapvCommon Report Var(flag_trapv) OptimizationTrap for signed overflow in addition, subtraction and multiplication.
ftree-bit-ccpCommon Report Var(flag_tree_bit_ccp) OptimizationEnable SSA-BIT-CCP optimization on trees.
ftree-builtin-call-dceCommon Report Var(flag_tree_builtin_call_dce) Init(0) OptimizationEnable conditional dead code elimination for builtin calls.
ftree-ccpCommon Report Var(flag_tree_ccp) OptimizationEnable SSA-CCP optimization on trees.
ftree-chCommon Report Var(flag_tree_ch) OptimizationEnable loop header copying on trees.
ftree-coalesce-inlined-varsCommon Ignore RejectNegativeDoes nothing.  Preserved for backward compatibility.
ftree-coalesce-varsCommon Report Var(flag_tree_coalesce_vars) OptimizationEnable SSA coalescing of user variables.
ftree-copy-propCommon Report Var(flag_tree_copy_prop) OptimizationEnable copy propagation on trees.
ftree-copyrenameCommon IgnoreDoes nothing.  Preserved for backward compatibility.
ftree-cselimCommon Report Var(flag_tree_cselim) Init(2) OptimizationTransform condition stores into unconditional ones.
ftree-dceCommon Report Var(flag_tree_dce) OptimizationEnable SSA dead code elimination optimization on trees.
ftree-dominator-optsCommon Report Var(flag_tree_dom) OptimizationEnable dominator optimizations.
ftree-dseCommon Report Var(flag_tree_dse) OptimizationEnable dead store elimination.
ftree-forwpropCommon Report Var(flag_tree_forwprop) Init(1) OptimizationEnable forward propagation on trees.
ftree-freCommon Report Var(flag_tree_fre) OptimizationEnable Full Redundancy Elimination (FRE) on trees.
ftree-loop-distribute-patternsCommon Report Var(flag_tree_loop_distribute_patterns) OptimizationEnable loop distribution for patterns transformed into a library call.
ftree-loop-distributionCommon Report Var(flag_tree_loop_distribution) OptimizationEnable loop distribution on trees.
ftree-loop-if-convertCommon Report Var(flag_tree_loop_if_convert) Init(-1) OptimizationConvert conditional jumps in innermost loops to branchless equivalents.
ftree-loop-if-convert-storesCommon Report Var(flag_tree_loop_if_convert_stores) OptimizationAlso if-convert conditional jumps containing memory writes.
ftree-loop-imCommon Report Var(flag_tree_loop_im) Init(1) OptimizationEnable loop invariant motion on trees.
ftree-loop-ivcanonCommon Report Var(flag_tree_loop_ivcanon) Init(1) OptimizationCreate canonical induction variables in loops.
ftree-loop-linearCommon Alias(floop-nest-optimize)Enable loop nest transforms.  Same as -floop-nest-optimize.
ftree-loop-optimizeCommon Report Var(flag_tree_loop_optimize) Init(1) OptimizationEnable loop optimizations on tree level.
ftree-loop-vectorizeCommon Report Var(flag_tree_loop_vectorize) OptimizationEnable loop vectorization on trees.
ftree-lrsCommon Report Var(flag_tree_live_range_split) OptimizationPerform live range splitting during the SSA->normal pass.
ftree-parallelize-loops=Common Report Joined RejectNegative UInteger Var(flag_tree_parallelize_loops) Init(1) OptimizationEnable automatic parallelization of loops.
ftree-partial-preCommon Report Var(flag_tree_partial_pre) OptimizationIn SSA-PRE optimization on trees, enable partial-partial redundancy elimination.
ftree-phipropCommon Report Var(flag_tree_phiprop) Init(1) OptimizationEnable hoisting loads from conditional pointers.
ftree-preCommon Report Var(flag_tree_pre) OptimizationEnable SSA-PRE optimization on trees.
ftree-ptaCommon Report Var(flag_tree_pta) OptimizationPerform function-local points-to analysis on trees.
ftree-reassocCommon Report Var(flag_tree_reassoc) Init(1) OptimizationEnable reassociation on tree level.
ftree-saliasCommon IgnoreDoes nothing.  Preserved for backward compatibility.
ftree-scev-cpropCommon Report Var(flag_tree_scev_cprop) Init(1) OptimizationEnable copy propagation of scalar-evolution information.
ftree-sinkCommon Report Var(flag_tree_sink) OptimizationEnable SSA code sinking on trees.
ftree-slp-vectorizeCommon Report Var(flag_tree_slp_vectorize) OptimizationEnable basic block vectorization (SLP) on trees.
ftree-slsrCommon Report Var(flag_tree_slsr) OptimizationPerform straight-line strength reduction.
ftree-sraCommon Report Var(flag_tree_sra) OptimizationPerform scalar replacement of aggregates.
ftree-store-ccpCommon IgnoreDoes nothing.  Preserved for backward compatibility.
ftree-store-copy-propCommon IgnoreDoes nothing.  Preserved for backward compatibility.
ftree-switch-conversionCommon Report Var(flag_tree_switch_conversion) OptimizationPerform conversions of switch initializations.
ftree-tail-mergeCommon Report Var(flag_tree_tail_merge) OptimizationEnable tail merging on trees.
ftree-terCommon Report Var(flag_tree_ter) OptimizationReplace temporary expressions in the SSA->normal pass.
ftree-vect-loop-versionCommon IgnoreDoes nothing. Preserved for backward compatibility.
ftree-vectorizeCommon Report Var(flag_tree_vectorize) OptimizationEnable vectorization on trees.
ftree-vectorizer-verbose=Common Joined RejectNegative IgnoreDoes nothing.  Preserved for backward compatibility.
ftree-vrpCommon Report Var(flag_tree_vrp) Init(0) OptimizationPerform Value Range Propagation on trees.
funconstrained-commonsCommon Var(flag_unconstrained_commons) OptimizationAssume common declarations may be overridden with ones with a largertrailing array.
funderscoringFortran Var(flag_underscoring) Init(1)Append underscores to externally visible names.
funit-at-a-timeCommon Report Var(flag_unit_at_a_time) Init(1)Compile whole compilation unit at a time.
funroll-all-loopsCommon Report Var(flag_unroll_all_loops) OptimizationPerform loop unrolling for all loops.
funroll-loopsCommon Report Var(flag_unroll_loops) OptimizationPerform loop unrolling when iteration count is known.
funsafe-loop-optimizationsCommon Report Var(flag_unsafe_loop_optimizations) OptimizationAllow loop optimizations to assume that the loops behave in normal way.
funsafe-math-optimizationsCommon Report Var(flag_unsafe_math_optimizations) Optimization SetByCombinedAllow math optimizations that may violate IEEE or ISO standards.
funsigned-bitfieldsC ObjC C++ ObjC++ Var(flag_signed_bitfields, 0)When \"signed\" or \"unsigned\" is not given make the bitfield unsigned.
funsigned-charC ObjC C++ ObjC++ LTO Var(flag_signed_char, 0)Make \"char\" unsigned by default.
funswitch-loopsCommon Report Var(flag_unswitch_loops) OptimizationPerform loop unswitching.
funwind-tablesCommon Report Var(flag_unwind_tables) OptimizationJust generate unwind tables for exception handling.
fuse-atomic-builtinsJava Var(flag_use_atomic_builtins) Init(0)Generate code for built-in atomic operations.
fuse-boehm-gcJava Var(flag_use_boehm_gc)Generate code for the Boehm GC.
fuse-cxa-atexitC++ ObjC++ Var(flag_use_cxa_atexit) Init(DEFAULT_USE_CXA_ATEXIT)Use __cxa_atexit to register destructors.
fuse-cxa-get-exception-ptrC++ ObjC++ Var(flag_use_cxa_get_exception_ptr) Init(2)Use __cxa_get_exception_ptr in exception handling.
fuse-divide-subroutineJava Var(flag_use_divide_subroutine) Init(1)Call a library routine to do integer divisions.
fuse-ld=bfdCommon Driver Negative(fuse-ld=gold)Use the bfd linker instead of the default linker.
fuse-ld=goldCommon Driver Negative(fuse-ld=bfd)Use the gold linker instead of the default linker.
fuse-linker-pluginCommon Undocumented Var(flag_use_linker_plugin)
fvar-trackingCommon Report Var(flag_var_tracking) Init(2) OptimizationPerform variable tracking.
fvar-tracking-assignmentsCommon Report Var(flag_var_tracking_assignments) Init(2) OptimizationPerform variable tracking by annotating assignments.
fvar-tracking-assignments-toggleCommon Report Var(flag_var_tracking_assignments_toggle) OptimizationToggle -fvar-tracking-assignments.
fvar-tracking-uninitCommon Report Var(flag_var_tracking_uninit) OptimizationPerform variable tracking and also tag variables that are uninitialized.
fvariable-expansion-in-unrollerCommon Report Var(flag_variable_expansion_in_unroller) OptimizationApply variable expansion when loops are unrolled.
fvect-cost-modelCommon RejectNegative Alias(fvect-cost-model=,dynamic)Enables the dynamic vectorizer cost model.  Preserved for backward compatibility.
fvect-cost-model=Common Joined RejectNegative Enum(vect_cost_model) Var(flag_vect_cost_model) Init(VECT_COST_MODEL_DEFAULT) OptimizationSpecifies the cost model for vectorization.
fverbose-asmCommon Report Var(flag_verbose_asm)Add extra commentary to assembler output.
fversionCommon Driver Alias(-version)
fvisibility-inlines-hiddenC++ ObjC++Marks all inlined functions and methods as having hidden visibility.
fvisibility-ms-compatC++ ObjC++ Var(flag_visibility_ms_compat)Changes visibility to match Microsoft Visual Studio by default.
fvisibility=Common Joined RejectNegative Enum(symbol_visibility) Var(default_visibility) Init(VISIBILITY_DEFAULT)-fvisibility=[default|internal|hidden|protected]	Set the default symbol visibility.
fvptCommon Report Var(flag_value_profile_transformations) OptimizationUse expression value profiles in optimizations.
fvtable-gcC++ ObjC++ Ignore Warn(switch %qs is no longer supported)No longer supported.
fvtable-thunksC++ ObjC++ Ignore Warn(switch %qs is no longer supported)No longer supported.
fvtable-verify=Common Joined RejectNegative Enum(vtv_priority) Var(flag_vtable_verify) Init(VTV_NO_PRIORITY)Validate vtable pointers before using them.
fvtv-countsCommon Var(flag_vtv_counts)Output vtable verification counters.
fvtv-debugCommon Var(flag_vtv_debug)Output vtable verification pointer sets information.
fweakC++ ObjC++ Var(flag_weak) Init(1)Emit common-like symbols as weak symbols.
fwebCommon Report Var(flag_web) Init(2) OptimizationConstruct webs and split unrelated uses of single variable.
fwhole-fileFortran IgnoreDoes nothing.  Preserved for backward compatibility.
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=<cset>	Convert all wide strings and character constants to character set <cset>.
fworking-directoryC ObjC C++ ObjC++ Var(flag_working_directory) Init(-1)Generate a #line directive pointing at the current working directory.
fworking-directoryFortran
fwpaLTO Driver ReportRun the link-time optimizer in whole program analysis (WPA) mode.
fwpa=LTO Driver RejectNegative Joined Var(flag_wpa)Whole program analysis (WPA) mode with number of parallel jobs specified.
fwrapvCommon Report Var(flag_wrapv) OptimizationAssume signed arithmetic overflow wraps around.
fxrefC++ ObjC++ Ignore Warn(switch %qs is no longer supported)No longer supported.
fzeeCommon IgnoreDoes nothing.  Preserved for backward compatibility.
fzero-initialized-in-bssCommon Report Var(flag_zero_initialized_in_bss) Init(1)Put zero initialized data in the bss section.
fzero-linkObjC ObjC++ Var(flag_zero_link)Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode.
gCommon JoinedOrMissingGenerate debug information in default format.
gantAda AdaWhy AdaSCIL Joined UndocumentedCatch typos.
gcoffCommon JoinedOrMissing Negative(gdwarf)Generate debug information in COFF format.
gdwarfCommon JoinedOrMissing Negative(gdwarf-)Generate debug information in default version of DWARF format.
gdwarf-Common Joined UInteger Var(dwarf_version) Init(4) Negative(gstabs)Generate debug information in DWARF v2 (or later) format.
gen-declsObjC ObjC++ Var(flag_gen_declaration)Dump declarations to a .decl file.
ggdbCommon JoinedOrMissingGenerate debug information in default extended format.
ggnu-pubnamesCommon Negative(gno-pubnames) Var(debug_generate_pub_sections, 2)Generate DWARF pubnames and pubtypes sections with GNU extensions.
gnatAda AdaWhy AdaSCIL Joined-gnat<options>	Specify options to GNAT.
gnatOAda AdaWhy AdaSCIL SeparateSet name of output ALI file (internal switch).
gno-pubnamesCommon Negative(gpubnames) Var(debug_generate_pub_sections, 0) Init(-1)Don't generate DWARF pubnames and pubtypes sections.
gno-record-gcc-switchesCommon RejectNegative Var(dwarf_record_gcc_switches,0) Init(1)Don't record gcc command line switches in DWARF DW_AT_producer.
gno-split-dwarfCommon Driver RejectNegative Var(dwarf_split_debug_info,0) Init(0)Don't generate debug information in separate .dwo files.
gno-strict-dwarfCommon RejectNegative Var(dwarf_strict,0) Init(0)Emit DWARF additions beyond selected version.
gpubnamesCommon Negative(ggnu-pubnames) Var(debug_generate_pub_sections, 1)Generate DWARF pubnames and pubtypes sections.
grecord-gcc-switchesCommon RejectNegative Var(dwarf_record_gcc_switches,1)Record gcc command line switches in DWARF DW_AT_producer.
gsplit-dwarfCommon Driver RejectNegative Var(dwarf_split_debug_info,1)Generate debug information in separate .dwo files.
gstabsCommon JoinedOrMissing Negative(gstabs+)Generate debug information in STABS format.
gstabs+Common JoinedOrMissing Negative(gvms)Generate debug information in extended STABS format.
gstrict-dwarfCommon Report RejectNegative Var(dwarf_strict,1)Don't emit DWARF additions beyond selected version.
gtoggleCommon Report Var(flag_gtoggle)Toggle debug information generation.
gvmsCommon JoinedOrMissing Negative(gxcoff)Generate debug information in VMS format.
gxcoffCommon JoinedOrMissing Negative(gxcoff+)Generate debug information in XCOFF format.
gxcoff+Common JoinedOrMissing Negative(gcoff)Generate debug information in extended XCOFF format.
gzCommon DriverGenerate compressed debug sections.
gz=Common Driver Joined Enum(compressed_debug_sections)-gz=<format>	Generate compressed debug sections in format <format>.
hDriver Joined Separate
idirafterC ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)-idirafter <dir>	Add <dir> to the end of the system include path.
idirafterFortran Joined Separate
imacrosC ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs)-imacros <file>	Accept definition of macros in <file>.
imultiarchCommon Joined Separate RejectDriver Var(imultiarch) Init(0)-imultiarch <dir>	Set <dir> to be the multiarch include subdirectory.
imultilibC ObjC C++ ObjC++ Joined Separate-imultilib <dir>	Set <dir> to be the multilib include subdirectory.
imultilibFortran Joined Separate
includeC ObjC C++ ObjC++ Joined Separate MissingArgError(missing filename after %qs)-include <file>	Include the contents of <file> before other files.
iplugindir=Common Joined Var(plugindir_string) Init(0)-iplugindir=<dir>	Set <dir> to be the default plugin directory.
iprefixC ObjC C++ ObjC++ Joined Separate-iprefix <path>	Specify <path> as a prefix for next two options.
iprefixFortran Joined Separate
iquoteC ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)-iquote <dir>	Add <dir> to the end of the quote include path.
iquoteFortran Joined Separate
isysrootC ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)-isysroot <dir>	Set <dir> to be the system root directory.
isysrootFortran Joined Separate
isystemC ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)-isystem <dir>	Add <dir> to the start of the system include path.
isystemFortran Joined Separate
iwithprefixC ObjC C++ ObjC++ Joined Separate-iwithprefix <dir>	Add <dir> to the end of the system include path.
iwithprefixbeforeC ObjC C++ ObjC++ Joined Separate-iwithprefixbefore <dir>	Add <dir> to the end of the main include path.
k8DriverSynonym of -gnatk8.
lDriver Joined Separate
lang-asmC Undocumented RejectDriver
mabi=Target RejectNegative Joined Enum(arm_abi_type) Var(arm_abi) Init(ARM_DEFAULT_ABI)Specify an ABI.
mabort-on-noreturnTarget Report Mask(ABORT_NORETURN)Generate a call to abort if a noreturn function returns.
mandroidTarget Report Mask(ANDROID) Var(flag_android) Init(ANDROID_DEFAULT ? OPTION_MASK_ANDROID : 0)Generate code for the Android platform.
mapcsTarget RejectNegative Mask(APCS_FRAME) Undocumented
mapcs-floatTarget Report Mask(APCS_FLOAT)Pass FP arguments in FP registers.
mapcs-frameTarget Report Mask(APCS_FRAME)Generate APCS conformant stack frames.
mapcs-reentrantTarget Report Mask(APCS_REENT)Generate re-entrant, PIC code.
mapcs-stack-checkTarget Report Mask(APCS_STACK) Undocumented
march=Target RejectNegative ToLower Joined Enum(arm_arch) Var(arm_arch_option)Specify the name of the target architecture.
marmTarget Report RejectNegative InverseMask(THUMB)Generate code in 32 bit ARM state.
masm-syntax-unifiedTarget Report Var(inline_asm_unified) Init(0) SaveAssume unified syntax for inline assembly code.
mbig-endianTarget Report RejectNegative Mask(BIG_END)Assume target CPU is configured as big endian.
mbionicTarget Report RejectNegative Var(linux_libc,LIBC_BIONIC) Init(DEFAULT_LIBC) Negative(mglibc)Use Bionic C library.
mcallee-super-interworkingTarget Report Mask(CALLEE_INTERWORKING)Thumb: Assume non-static functions may be called from ARM code.
mcaller-super-interworkingTarget Report Mask(CALLER_INTERWORKING)Thumb: Assume function pointers may go to non-Thumb aware code.
mcpu=Target RejectNegative ToLower Joined Enum(processor_type) Var(arm_cpu_option) Init(arm_none)Specify the name of the target CPU.
mfix-cortex-m3-ldrdTarget Report Var(fix_cm3_ldrd) Init(2)Avoid overlapping destination and address registers on LDRD instructionsthat may trigger Cortex-M3 errata.
mflip-thumbTarget Report Var(TARGET_FLIP_THUMB) UndocumentedSwitch ARM/Thumb modes on alternating functions for compiler testing.
mfloat-abi=Target RejectNegative Joined Enum(float_abi_type) Var(arm_float_abi) Init(TARGET_DEFAULT_FLOAT_ABI)Specify if floating point hardware should be used.
mfp16-format=Target RejectNegative Joined Enum(arm_fp16_format_type) Var(arm_fp16_format) Init(ARM_FP16_FORMAT_NONE)Specify the __fp16 floating-point format.
mfpu=Target RejectNegative Joined Enum(arm_fpu) Var(arm_fpu_index) SaveSpecify the name of the target floating point hardware/format.
mglibcTarget Report RejectNegative Var(linux_libc,LIBC_GLIBC) Negative(muclibc)Use GNU C library.
mhard-floatTarget RejectNegative Alias(mfloat-abi=, hard) Undocumented
mlittle-endianTarget Report RejectNegative InverseMask(BIG_END)Assume target CPU is configured as little endian.
mlong-callsTarget Report Mask(LONG_CALLS)Generate call insns as indirect calls, if necessary.
mmuslTarget Report RejectNegative Var(linux_libc,LIBC_MUSL) Negative(mbionic)Use musl C library.
mneon-for-64bitsTarget Report RejectNegative Var(use_neon_for_64bits) Init(0)Use Neon to perform 64-bits operations rather than core registers.
mnew-generic-costsTarget Report Mask(NEW_GENERIC_COSTS)Use the new generic RTX cost tables if new core-specific cost table not available (transitional).
mold-rtx-costsTarget Report Mask(OLD_RTX_COSTS)Use the old RTX costing tables (transitional).
mpic-data-is-text-relativeTarget Report Var(arm_pic_data_is_text_relative) Init(TARGET_DEFAULT_PIC_DATA_IS_TEXT_RELATIVE)Assume data segments are relative to text segment.
mpic-register=Target RejectNegative Joined Var(arm_pic_register_string)Specify the register to be used for PIC addressing.
mpoke-function-nameTarget Report Mask(POKE_FUNCTION_NAME)Store function names in object code.
mprint-tune-infoTarget Report RejectNegative Var(print_tune_info) Init(0)Print CPU tuning information as comment in assembler file.  This isan option used only for regression testing of the compiler and notintended for ordinary use in compiling code.
mrestrict-itTarget Report Var(arm_restrict_it) Init(2) SaveGenerate IT blocks appropriate for ARMv8.
msched-prologTarget Report Mask(SCHED_PROLOG)Permit scheduling of a function's prologue sequence.
msingle-pic-baseTarget Report Mask(SINGLE_PIC_BASE)Do not load the PIC register in function prologues.
mslow-flash-dataTarget Report Var(target_slow_flash_data) Init(0)Assume loading data from flash is slower than fetching instructions.
msoft-floatTarget RejectNegative Alias(mfloat-abi=, soft) Undocumented
mstructure-size-boundary=Target RejectNegative Joined UInteger Var(arm_structure_size_boundary) Init(DEFAULT_STRUCTURE_SIZE_BOUNDARY)Specify the minimum bit alignment of structures.
mthumbTarget Report RejectNegative Mask(THUMB) SaveGenerate code for Thumb state.
mthumb-interworkTarget Report Mask(INTERWORK)Support calls between Thumb and ARM instruction sets.
mtls-dialect=Target RejectNegative Joined Enum(tls_type) Var(target_tls_dialect) Init(TLS_GNU)Specify thread local storage scheme.
mtp=Target RejectNegative Joined Enum(arm_tp_type) Var(target_thread_pointer) Init(TP_AUTO)Specify how to access the thread pointer.
mtpcs-frameTarget Report Mask(TPCS_FRAME)Thumb: Generate (non-leaf) stack frames even if not needed.
mtpcs-leaf-frameTarget Report Mask(TPCS_LEAF_FRAME)Thumb: Generate (leaf) stack frames even if not needed.
mtune=Target RejectNegative ToLower Joined Enum(processor_type) Var(arm_tune_option) Init(arm_none)Tune code for the given processor.
muclibcTarget Report RejectNegative Var(linux_libc,LIBC_UCLIBC) Negative(mmusl)Use uClibc C library.
munaligned-accessTarget Report Var(unaligned_access) Init(2) SaveEnable unaligned word and halfword accesses to packed data.
mvectorize-with-neon-doubleTarget Report RejectNegative Mask(NEON_VECTORIZE_DOUBLE)Use Neon double-word (rather than quad-word) registers for vectorization.
mvectorize-with-neon-quadTarget Report RejectNegative InverseMask(NEON_VECTORIZE_DOUBLE)Use Neon quad-word (rather than double-word) registers for vectorization.
mword-relocationsTarget Report Var(target_word_relocations) Init(TARGET_DEFAULT_WORD_RELOCATIONS)Only generate absolute relocations on word sized values.
nDriver
no-canonical-prefixesDriver
no-integrated-cppDriver
no-pieDriver RejectNegative Negative(shared)Don't create a position independent executable.
nocppFortran Negative(cpp)Disable preprocessing.
nodefaultlibsDriver
nostartfilesDriver
nostdincAda AdaWhy AdaSCIL RejectNegative
nostdincC ObjC C++ ObjC++Do not search standard system include directories (those specified with -isystem will still be used).
nostdincFortran
nostdinc++C++ ObjC++Do not search standard system include directories for C++.
nostdlibAda AdaWhy AdaSCILDo not look for object files in standard path.
nostdlibDriver
nostdlib++DriverDo not link standard C++ runtime library
oC ObjC C++ ObjC++ Joined Separate
oCommon Driver Joined Separate Var(asm_file_name) MissingArgError(missing filename after %qs)-o <file>	Place output into <file>.
oFortran Joined Separate
oGo Joined Separate
pCommon Var(profile_flag)Enable function profiling.
pass-exit-codesDriver Var(pass_exit_codes)
pedanticC ObjC C++ ObjC++ Alias(Wpedantic)
pedanticCommon Alias(Wpedantic)
pedantic-errorsCommon Var(flag_pedantic_errors)Like -pedantic but issue them as errors.
pgDriver
pieDriver RejectNegative Negative(no-pie)Create a position independent executable.
pipeDriver Var(use_pipes)
posixDriver
print-file-name=Driver JoinedOrMissing Var(print_file_name)
print-libgcc-file-nameDriver
print-multi-directoryDriver Var(print_multi_directory)
print-multi-libDriver Var(print_multi_lib)
print-multi-os-directoryDriver Var(print_multi_os_directory)
print-multiarchDriver Var(print_multiarch)
print-objc-runtime-infoObjC ObjC++Generate C header of platform-specific features.
print-prog-name=Driver JoinedOrMissing Var(print_prog_name)
print-search-dirsDriver Var(print_search_dirs)
print-sysrootDriver Var(print_sysroot)
print-sysroot-headers-suffixDriver Var(print_sysroot_headers_suffix)
profileDriver
pthreadDriver
quietCommon Var(quiet_flag) RejectDriverDo not display functions compiled or elapsed time.
rDriver
rdynamicDriver
remapC ObjC C++ ObjC++Remap file names when including files.
sDriver
s-bc-abiDriver
save-tempsDriver
save-temps=Driver Joined
sharedDriver RejectNegative Negative(pie)Create a shared library.
shared-libgccDriver
specsDriver Separate Alias(specs=)
specs=Driver Joined
staticDriver
static-libasanDriver
static-libgccDriver
static-libgcjDriver
static-libgfortranDriver
static-libgfortranFortranStatically link the GNU Fortran helper library (libgfortran).
static-libgoDriver
static-liblsanDriver
static-libmpxDriver
static-libmpxwrappersDriver
static-libstdc++Driver
static-libtsanDriver
static-libubsanDriver
std=c++03C++ ObjC++ Alias(std=c++98)Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum.
std=c++0xC++ ObjC++ Alias(std=c++11) UndocumentedDeprecated in favor of -std=c++11.
std=c++11C++ ObjC++Conform to the ISO 2011 C++ standard.
std=c++14C++ ObjC++Conform to the ISO 2014 C++ standard.
std=c++17C++ ObjC++ Alias(std=c++1z) Undocumented
std=c++1yC++ ObjC++ Alias(std=c++14) UndocumentedDeprecated in favor of -std=c++14.
std=c++1zC++ ObjC++Conform to the ISO 2017(?) C++ draft standard (experimental and incomplete support).
std=c++98C++ ObjC++Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum.
std=c11C ObjCConform to the ISO 2011 C standard.
std=c1xC ObjC Alias(std=c11)Deprecated in favor of -std=c11.
std=c89C ObjC Alias(std=c90)Conform to the ISO 1990 C standard.
std=c90C ObjCConform to the ISO 1990 C standard.
std=c99C ObjCConform to the ISO 1999 C standard.
std=c9xC ObjC Alias(std=c99)Deprecated in favor of -std=c99.
std=f2003FortranConform to the ISO Fortran 2003 standard.
std=f2008FortranConform to the ISO Fortran 2008 standard.
std=f2008tsFortranConform to the ISO Fortran 2008 standard including TS 29113.
std=f95FortranConform to the ISO Fortran 95 standard.
std=gnuFortranConform to nothing in particular.
std=gnu++03C++ ObjC++ Alias(std=gnu++98)Conform to the ISO 1998 C++ standard revised by the 2003 technicalcorrigendum with GNU extensions.
std=gnu++0xC++ ObjC++ Alias(std=gnu++11) UndocumentedDeprecated in favor of -std=gnu++11.
std=gnu++11C++ ObjC++Conform to the ISO 2011 C++ standard with GNU extensions.
std=gnu++14C++ ObjC++Conform to the ISO 2014 C++ standard with GNU extensions.
std=gnu++17C++ ObjC++ Alias(std=gnu++1z) Undocumented
std=gnu++1yC++ ObjC++ Alias(std=gnu++14) UndocumentedDeprecated in favor of -std=gnu++14.
std=gnu++1zC++ ObjC++Conform to the ISO 201z(7?) C++ draft standard with GNU extensions (experimental and incomplete support).
std=gnu++98C++ ObjC++Conform to the ISO 1998 C++ standard revised by the 2003 technicalcorrigendum with GNU extensions.
std=gnu11C ObjCConform to the ISO 2011 C standard with GNU extensions.
std=gnu1xC ObjC Alias(std=gnu11)Deprecated in favor of -std=gnu11.
std=gnu89C ObjC Alias(std=gnu90)Conform to the ISO 1990 C standard with GNU extensions.
std=gnu90C ObjCConform to the ISO 1990 C standard with GNU extensions.
std=gnu99C ObjCConform to the ISO 1999 C standard with GNU extensions.
std=gnu9xC ObjC Alias(std=gnu99)Deprecated in favor of -std=gnu99.
std=iso9899:1990C ObjC Alias(std=c90)Conform to the ISO 1990 C standard.
std=iso9899:199409C ObjCConform to the ISO 1990 C standard as amended in 1994.
std=iso9899:1999C ObjC Alias(std=c99)Conform to the ISO 1999 C standard.
std=iso9899:199xC ObjC Alias(std=c99)Deprecated in favor of -std=iso9899:1999.
std=iso9899:2011C ObjC Alias(std=c11)Conform to the ISO 2011 C standard.
std=legacyFortranAccept extensions to support legacy code.
symbolicDriver
tDriver
timeDriver Var(report_times)
time=Driver JoinedOrMissing
tno-android-ccDriver
tno-android-ldDriver
traditionalDriver
traditional-cppC ObjC C++ ObjC++Enable traditional preprocessing.
trigraphsC ObjC C++ ObjC++-trigraphs	Support ISO C trigraphs.
uDriver Joined Separate
undefC ObjC C++ ObjC++ Var(flag_undef)Do not predefine system-specific and GCC-specific macros.
undefDriver
undefFortran
vC ObjC C++ ObjC++
vCommon Driver Var(verbose_flag)Enable verbose output.
vFortran
versionCommon Var(version_flag) RejectDriverDisplay the compiler's version.
versionJava RejectDriver
wC ObjC C++ ObjC++
wCommon Var(inhibit_warnings)Suppress warnings.
wrapperDriver Separate Var(wrapper_string)
xDriver Joined Separate
zDriver Joined Separate
