FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
Success! Subscription added.
Success! Subscription removed.
Sorry, you must verify to complete this action. Please click the verification link in your email. You may re-send via your
profile.
*** Evolution of Command Line options of different C++ compilers ***[ Abstract ]
Technical details on Evolution of Command Line options of different C++ compilers, more than 10, will be provided.
VS2010EE 32-bit Options
C/C++ COMPILER OPTIONS
-OPTIMIZATION-
/O1 minimize space /O2 maximize speed
/Ob inline expansion (default n=0) /Od disable optimizations (default)
/Og enable global optimization /Oi[-] enable intrinsic functions
/Os favor code space /Ot favor code speed
/Ox maximum optimizations /Oy[-] enable frame pointer omission
-CODE GENERATION-
/GF enable read-only string pooling /Gm[-] enable minimal rebuild
/Gy[-] separate functions for linker /GS[-] enable security checks
/GR[-] enable C++ RTTI /GX[-] enable C++ EH (same as /EHsc)
/EHs enable C++ EH (no SEH exceptions) /EHa enable C++ EH (w/ SEH exceptions)
/EHc extern "C" defaults to nothrow
/fp: choose floating-point model:
except[-] - consider floating-point exceptions when generating code
fast - "fast" floating-point model; results are less predictable
precise - "precise" floating-point model; results are predictable
strict - "strict" floating-point model (implies /fp:except)
/Qfast_transcendentals generate inline FP intrinsics even with /fp:except
/GL[-] enable link-time code generation /GA optimize for Windows Application
/Ge force stack checking for all funcs /Gs[num] control stack checking calls
/Gh enable _penter function call /GH enable _pexit function call
/GT generate fiber-safe TLS accesses /RTC1 Enable fast checks (/RTCsu)
/RTCc Convert to smaller type checks /RTCs Stack Frame runtime checking
/RTCu Uninitialized local usage checks
/clr[:option] compile for common language runtime, where option is:
pure - produce IL-only output file (no native executable code)
safe - produce IL-only verifiable output file
oldSyntax - accept the Managed Extensions syntax from Visual C++ 2002/2003
initialAppDomain - enable initial AppDomain behavior of Visual C++ 2002
noAssembly - do not produce an assembly
/Gd __cdecl calling convention /Gr __fastcall calling convention
/Gz __stdcall calling convention /GZ Enable stack checks (/RTCs)
/QIfist[-] use FIST instead of ftol()
/hotpatch ensure function padding for hotpatchable images
/arch: minimum CPU architecture requirements, one of:
SSE - enable use of instructions available with SSE enabled CPUs
SSE2 - enable use of instructions available with SSE2 enabled CPUs
AVX - enable use of Intel(R) Advanced Vector Extensions instructions
/Qimprecise_fwaits generate FWAITs only on "try" boundaries, not inside "try"
/Qsafe_fp_loads generate safe FP loads
-OUTPUT FILES-
/Fa[file] name assembly listing file /FA[scu] configure assembly listing
/Fd[file] name .PDB file /Fe name executable file
/Fm[file] name map file /Fo name object file
/Fp name precompiled header file /Fr[file] name source browser file
/FR[file] name extended .SBR file /Fi[file] name preprocessed file
/doc[file] process XML documentation comments and optionally name the .xdc file
-PREPROCESSOR-
/AI add to assembly search path /FU forced using assembly/module
/C don't strip comments /D{=|#} define macro
/E preprocess to stdout /EP preprocess to stdout, no #line
/P preprocess to file /Fx merge injected code to file
/FI name forced include file /U remove predefined macro
/u remove all predefined macros /I add to include search path
/X ignore "standard places"
-LANGUAGE-
/Zi enable debugging information /Z7 enable old-style debug info
/Zp pack structs on n-byte boundary /Za disable extensions
/Ze enable extensions (default) /Zl omit default library name in .OBJ
/Zg generate function prototypes /Zs syntax check only
/vd{0|1|2} disable/enable vtordisp /vm type of pointers to members
/Zc:arg1[,arg2] C++ language conformance, where arguments can be:
forScope[-] - enforce Standard C++ for scoping rules
wchar_t[-] - wchar_t is the native type, not a typedef
auto[-] - enforce the new Standard C++ meaning for auto
trigraphs[-] - enable trigraphs (off by default)
/ZI enable Edit and Continue debug info
/openmp enable OpenMP 2.0 language extensions
-MISCELLANEOUS-
@ options response file /?, /help print this help message
/bigobj generate extended object format /c compile only, no link
/errorReport:option Report internal compiler errors to Microsoft
none - do not send report
prompt - prompt to immediately send report
queue - at next admin logon, prompt to send report (default)
send - send report automatically
/FC use full pathnames in diagnostics /H max external name length
/J default char type is unsigned
/MP use up to 'n' processes for compilation
/nologo suppress copyright message /showIncludes show include file names
/Tc compile file as .c /Tp compile file as .cpp
/TC compile all files as .c /TP compile all files as .cpp
/V set version string /w disable all warnings
/wd disable warning n /we treat warning n as an error
/wo issue warning n once /w set warning level 1-4 for n
/W set warning level (default n=1) /Wall enable all warnings
/WL enable one line diagnostics /WX treat warnings as errors
/Yc[file] create .PCH file /Yd put debug info in every .OBJ
/Yl[sym] inject .PCH ref for debug lib /Yu[file] use .PCH file
/Y- disable all PCH options /Zm max memory alloc (% of default)
/Wp64 enable 64 bit porting warnings
-LINKING-
/LD Create .DLL /LDd Create .DLL debug library
/LN Create a .netmodule /F set stack size
/link [linker options and libraries] /MD link with MSVCRT.LIB
/MT link with LIBCMT.LIB /MDd link with MSVCRTD.LIB debug lib
/MTd link with LIBCMTD.LIB debug lib
VS2012EE 32-bit Options
C/C++ COMPILER OPTIONS
-OPTIMIZATION-
/O1 minimize space /O2 maximize speed
/Ob inline expansion (default n=0) /Od disable optimizations (default)
/Og enable global optimization /Oi[-] enable intrinsic functions
/Os favor code space /Ot favor code speed
/Ox maximum optimizations /Oy[-] enable frame pointer omission
/favor: select processor to optimize for, one of:
blend - a combination of optimizations for several different x86 processors
ATOM - Intel(R) Atom(TM) processors
-CODE GENERATION-
/GF enable read-only string pooling /Gm[-] enable minimal rebuild
/Gy[-] separate functions for linker /GS[-] enable security checks
/GR[-] enable C++ RTTI /GX[-] enable C++ EH (same as /EHsc)
/EHs enable C++ EH (no SEH exceptions) /EHa enable C++ EH (w/ SEH exceptions)
/EHc extern "C" defaults to nothrow
/fp: choose floating-point model:
except[-] - consider floating-point exceptions when generating code
fast - "fast" floating-point model; results are less predictable
precise - "precise" floating-point model; results are predictable
strict - "strict" floating-point model (implies /fp:except)
/Qfast_transcendentals generate inline FP intrinsics even with /fp:except
/Qpar[-] enable parallel code generation
/Qpar-report:1 auto-parallelizer diagnostic; indicate parallelized loops
/Qpar-report:2 auto-parallelizer diagnostic; indicate loops not parallelized
/Qvec-report:1 auto-vectorizer diagnostic; indicate vectorized loops
/Qvec-report:2 auto-vectorizer diagnostic; indicate loops not vectorized
/GL[-] enable link-time code generation
/volatile: choose volatile model:
iso - Acquire/release semantics not guaranteed on volatile accesses
ms - Acquire/release semantics guaranteed on volatile accesses
/GA optimize for Windows Application /Ge force stack checking for all funcs
/Gs[num] control stack checking calls /Gh enable _penter function call
/GH enable _pexit function call /GT generate fiber-safe TLS accesses
/RTC1 Enable fast checks (/RTCsu) /RTCc Convert to smaller type checks
/RTCs Stack Frame runtime checking /RTCu Uninitialized local usage checks
/clr[:option] compile for common language runtime, where option is:
pure - produce IL-only output file (no native executable code)
safe - produce IL-only verifiable output file
oldSyntax - accept the Managed Extensions syntax from Visual C++ 2002/2003
initialAppDomain - enable initial AppDomain behavior of Visual C++ 2002
noAssembly - do not produce an assembly
nostdlib - ignore the default \clr directory
/Gd __cdecl calling convention /Gr __fastcall calling convention
/Gz __stdcall calling convention /GZ Enable stack checks (/RTCs)
/QIfist[-] use FIST instead of ftol()
/hotpatch ensure function padding for hotpatchable images
/arch: minimum CPU architecture requirements, one of:
IA32 - use no enhanced instructions and use x87 for floating point
SSE - enable use of instructions available with SSE enabled CPUs
SSE2 - (default) enable use of instructions available with SSE2 enabled CPUs
AVX - enable use of Intel(R) Advanced Vector Extensions instructions
/Qimprecise_fwaits generate FWAITs only on "try" boundaries, not inside "try"
/Qsafe_fp_loads generate safe FP loads
-OUTPUT FILES-
/Fa[file] name assembly listing file /FA[scu] configure assembly listing
/Fd[file] name .PDB file /Fe name executable file
/Fm[file] name map file /Fo name object file
/Fp name precompiled header file /Fr[file] name source browser file
/FR[file] name extended .SBR file /Fi[file] name preprocessed file
/doc[file] process XML documentation comments and optionally name the .xdc file
-PREPROCESSOR-
/AI add to assembly search path /FU forced using assembly/module
/C don't strip comments /D{=|#} define macro
/E preprocess to stdout /EP preprocess to stdout, no #line
/P preprocess to file /Fx merge injected code to file
/FI name forced include file /U remove predefined macro
/u remove all predefined macros /I add to include search path
/X ignore "standard places"
-LANGUAGE-
/Zi enable debugging information /Z7 enable old-style debug info
/Zp pack structs on n-byte boundary /Za disable extensions
/Ze enable extensions (default) /Zl omit default library name in .OBJ
/Zg generate function prototypes /Zs syntax check only
/vd{0|1|2} disable/enable vtordisp /vm type of pointers to members
/Zc:arg1[,arg2] C++ language conformance, where arguments can be:
forScope[-] - enforce Standard C++ for scoping rules
wchar_t[-] - wchar_t is the native type, not a typedef
auto[-] - enforce the new Standard C++ meaning for auto
trigraphs[-] - enable trigraphs (off by default)
/ZW enable WinRT language extensions /ZI enable Edit and Continue debug info
/openmp enable OpenMP 2.0 language extensions
-MISCELLANEOUS-
@ options response file /?, /help print this help message
/bigobj generate extended object format /c compile only, no link
/errorReport:option Report internal compiler errors to Microsoft
none - do not send report
prompt - prompt to immediately send report
queue - at next admin logon, prompt to send report (default)
send - send report automatically
/FC use full pathnames in diagnostics /H max external name length
/J default char type is unsigned
/MP use up to 'n' processes for compilation
/nologo suppress copyright message
/sdl enable additional security features and warnings
/showIncludes show include file names /Tc compile file as .c
/Tp compile file as .cpp /TC compile all files as .c
/TP compile all files as .cpp /V set version string
/w disable all warnings /wd disable warning n
/we treat warning n as an error /wo issue warning n once
/w set warning level 1-4 for n /W set warning level (default n=1)
/Wall enable all warnings /WL enable one line diagnostics
/WX treat warnings as errors /Yc[file] create .PCH file
/Yd put debug info in every .OBJ /Yl[sym] inject .PCH ref for debug lib
/Yu[file] use .PCH file /Y- disable all PCH options
/Zm max memory alloc (% of default) /Wp64 enable 64 bit porting warnings
-LINKING-
/LD Create .DLL /LDd Create .DLL debug library
/LN Create a .netmodule /F set stack size
/link [linker options and libraries] /MD link with MSVCRT.LIB
/MT link with LIBCMT.LIB /MDd link with MSVCRTD.LIB debug lib
/MTd link with LIBCMTD.LIB debug lib
-CODE ANALYSIS-
/analyze[:WX-] enable code analysis
WX- - code analysis warnings should not be treated as errors even if /WX is invoked
VS2012EE 64-bit Options
C/C++ COMPILER OPTIONS
-OPTIMIZATION-
/O1 minimize space /O2 maximize speed
/Ob inline expansion (default n=0) /Od disable optimizations (default)
/Og enable global optimization /Oi[-] enable intrinsic functions
/Os favor code space /Ot favor code speed
/Ox maximum optimizations
/favor: select processor to optimize for, one of:
blend - a combination of optimizations for several different x64 processors
AMD64 - 64-bit AMD processors
INTEL64 - Intel(R)64 architecture processors
ATOM - Intel(R) Atom(TM) processors
-CODE GENERATION-
/GF enable read-only string pooling /Gm[-] enable minimal rebuild
/Gy[-] separate functions for linker /GS[-] enable security checks
/GR[-] enable C++ RTTI /GX[-] enable C++ EH (same as /EHsc)
/EHs enable C++ EH (no SEH exceptions) /EHa enable C++ EH (w/ SEH exceptions)
/EHc extern "C" defaults to nothrow
/fp: choose floating-point model:
except[-] - consider floating-point exceptions when generating code
fast - "fast" floating-point model; results are less predictable
precise - "precise" floating-point model; results are predictable
strict - "strict" floating-point model (implies /fp:except)
/Qfast_transcendentals generate inline FP intrinsics even with /fp:except
/Qpar[-] enable parallel code generation
/Qpar-report:1 auto-parallelizer diagnostic; indicate parallelized loops
/Qpar-report:2 auto-parallelizer diagnostic; indicate loops not parallelized
/Qvec-report:1 auto-vectorizer diagnostic; indicate vectorized loops
/Qvec-report:2 auto-vectorizer diagnostic; indicate loops not vectorized
/GL[-] enable link-time code generation
/volatile: choose volatile model:
iso - Acquire/release semantics not guaranteed on volatile accesses
ms - Acquire/release semantics guaranteed on volatile accesses
/GA optimize for Windows Application /Ge force stack checking for all funcs
/Gs[num] control stack checking calls /Gh enable _penter function call
/GH enable _pexit function call /GT generate fiber-safe TLS accesses
/RTC1 Enable fast checks (/RTCsu) /RTCc Convert to smaller type checks
/RTCs Stack Frame runtime checking /RTCu Uninitialized local usage checks
/clr[:option] compile for common language runtime, where option is:
pure - produce IL-only output file (no native executable code)
safe - produce IL-only verifiable output file
oldSyntax - accept the Managed Extensions syntax from Visual C++ 2002/2003
initialAppDomain - enable initial AppDomain behavior of Visual C++ 2002
noAssembly - do not produce an assembly
nostdlib - ignore the default \clr directory
/homeparams Force parameters passed in registers to be written to the stack
/GZ Enable stack checks (/RTCs)
/arch:AVX enable use of Intel(R) Advanced Vector Extensions instructions
-OUTPUT FILES-
/Fa[file] name assembly listing file /FA[scu] configure assembly listing
/Fd[file] name .PDB file /Fe name executable file
/Fm[file] name map file /Fo name object file
/Fp name precompiled header file /Fr[file] name source browser file
/FR[file] name extended .SBR file /Fi[file] name preprocessed file
/doc[file] process XML documentation comments and optionally name the .xdc file
-PREPROCESSOR-
/AI add to assembly search path /FU forced using assembly/module
/C don't strip comments /D{=|#} define macro
/E preprocess to stdout /EP preprocess to stdout, no #line
/P preprocess to file /Fx merge injected code to file
/FI name forced include file /U remove predefined macro
/u remove all predefined macros /I add to include search path
/X ignore "standard places"
-LANGUAGE-
/Zi enable debugging information /Z7 enable old-style debug info
/Zp pack structs on n-byte boundary /Za disable extensions
/Ze enable extensions (default) /Zl omit default library name in .OBJ
/Zg generate function prototypes /Zs syntax check only
/vd{0|1|2} disable/enable vtordisp /vm type of pointers to members
/Zc:arg1[,arg2] C++ language conformance, where arguments can be:
forScope[-] - enforce Standard C++ for scoping rules
wchar_t[-] - wchar_t is the native type, not a typedef
auto[-] - enforce the new Standard C++ meaning for auto
trigraphs[-] - enable trigraphs (off by default)
/ZW enable WinRT language extensions
/openmp enable OpenMP 2.0 language extensions
-MISCELLANEOUS-
@ options response file /?, /help print this help message
/bigobj generate extended object format /c compile only, no link
/errorReport:option Report internal compiler errors to Microsoft
none - do not send report
prompt - prompt to immediately send report
queue - at next admin logon, prompt to send report (default)
send - send report automatically
/FC use full pathnames in diagnostics /H max external name length
/J default char type is unsigned
/MP use up to 'n' processes for compilation
/nologo suppress copyright message
/sdl enable additional security features and warnings
/showIncludes show include file names /Tc compile file as .c
/Tp compile file as .cpp /TC compile all files as .c
/TP compile all files as .cpp /V set version string
/w disable all warnings /wd disable warning n
/we treat warning n as an error /wo issue warning n once
/w set warning level 1-4 for n /W set warning level (default n=1)
/Wall enable all warnings /WL enable one line diagnostics
/WX treat warnings as errors /Yc[file] create .PCH file
/Yd put debug info in every .OBJ /Yl[sym] inject .PCH ref for debug lib
/Yu[file] use .PCH file /Y- disable all PCH options
/Zm max memory alloc (% of default) /Wp64 enable 64 bit porting warnings
-LINKING-
/LD Create .DLL /LDd Create .DLL debug library
/LN Create a .netmodule /F set stack size
/link [linker options and libraries] /MD link with MSVCRT.LIB
/MT link with LIBCMT.LIB /MDd link with MSVCRTD.LIB debug lib
/MTd link with LIBCMTD.LIB debug lib
Next series of posts will be for MinGW C++ compiler. Since that C++ compiler has hundreds of options I've created some groups of options and it will be easier to compare options of version x.x.x vs. options of version y.y.y.
MinGW v3.4.2 32-bit Options - Group 2
The --param option recognizes the following as parameters:
max-inline-insns-single The maximum number of instructions in a single
function eligible for inlining
max-inline-insns-auto The maximum number of instructions when
automatically inlining
max-inline-insns-rtl The maximum number of instructions for the RTL
inliner
max-delay-slot-insn-search The maximum number of instructions to consider to
fill a delay slot
max-delay-slot-live-search The maximum number of instructions to consider to
find accurate live register information
max-pending-list-length The maximum length of scheduling's pending
operations list
large-function-insns The size of function body to be considered large
large-function-growth Maximal growth due to inlining of large function
(in percent)
inline-unit-growth how much can given compilation unit grow because
of the inlining (in percent)
max-gcse-memory The maximum amount of memory to be allocated by
GCSE
max-gcse-passes The maximum number of passes to make when doing
GCSE
max-unrolled-insns The maximum number of instructions to consider to
unroll in a loop
max-average-unrolled-insns The maximum number of instructions to consider to
unroll in a loop on average
max-unroll-times The maximum number of unrollings of a single loop
max-peeled-insns The maximum number of insns of a peeled loop
max-peel-times The maximum number of peelings of a single loop
max-completely-peeled-insns The maximum number of insns of a completely
peeled loop
max-completely-peel-times The maximum number of peelings of a single loop
that is peeled completely
max-once-peeled-insns The maximum number of insns of a peeled loop that
rolls only once
max-unswitch-insns The maximum number of insns of an unswitched loop
max-unswitch-level The maximum number of unswitchings in a single
loop
hot-bb-count-fraction Select fraction of the maximal count of
repetitions of basic block in program given basic
block needs to have to be considered hot
hot-bb-frequency-fraction Select fraction of the maximal frequency of
executions of basic block in function given basic
block needs to have to be considered hot
tracer-dynamic-coverage-feedback The percentage of function, weighted by
execution frequency, that must be covered by
trace formation. Used when profile feedback is
available
tracer-dynamic-coverage The percentage of function, weighted by execution
frequency, that must be covered by trace
formation. Used when profile feedback is not
available
tracer-max-code-growth Maximal code growth caused by tail duplication
(in percent)
tracer-min-branch-ratio Stop reverse growth if the reverse probability of
best edge is less than this threshold (in percent)
tracer-min-branch-probability-feedback Stop forward growth if the probability
of best edge is less than this threshold (in
percent). Used when profile feedback is available
tracer-min-branch-probability Stop forward growth if the probability of best
edge is less than this threshold (in percent).
Used when profile feedback is not available
max-crossjump-edges The maximum number of incoming edges to consider
for crossjumping
max-cse-path-length The maximum length of path considered in cse
max-cselib-memory-locations The maximum memory locations recorded by cselib
ggc-min-expand Minimum heap expansion to trigger garbage
collection, as a percentage of the total size of
the heap
ggc-min-heapsize Minimum heap size before we start collecting
garbage, in kilobytes
max-reload-search-insns The maximum number of instructions to search
backward when looking for equivalent reload
The Ada front end recognizes the following options:
-I This switch lacks documentation
-Wall This switch lacks documentation
-Wlong-long Do not warn about using "long long" when -pedantic
-Wmissing-prototypes Warn about global functions without prototypes
-Wstrict-prototypes Warn about unprototyped function declarations
-Wwrite-strings Give strings the type "array of char"
-fRTS This switch lacks documentation
-gnat Specify options to GNAT
-nostdinc Do not search standard system include directories
(those specified with -isystem will still be used)
-nostdlib This switch lacks documentation
MinGW v3.4.2 32-bit Options - Group 3
The C front end recognizes the following options:
-I, -Wall, -Wlong-long, -Wmissing-prototypes, -Wstrict-prototypes,
-Wwrite-strings, -nostdinc
--output-pch= This switch lacks documentation
-A= Assert the to . Putting '-'
before disables the to
-C Do not discard comments
-CC Do not discard comments in macro expansions
-D[=] Define a with as its value. If
just is given, is taken to be 1
-H Print the name of header files as they are used
-M This switch lacks documentation
-MD Generate make dependencies and compile
-MF This switch lacks documentation
-MG Treat missing header files as generated files
-MM This switch lacks documentation
-MMD Like -MD but ignore system header files
-MP This switch lacks documentation
-MQ Add a MAKE-quoted target
-MT This switch lacks documentation
-P Do not generate #line directives
-U Undefine
-Wbad-function-cast Warn about casting functions to incompatible types
-Wcast-qual Warn about casts which discard qualifiers
-Wchar-subscripts Warn about subscripts whose type is "char"
-Wcomment This switch lacks documentation
-Wcomments This switch lacks documentation
-Wconversion Warn about possibly confusing type conversions
-Wdeclaration-after-statement Warn when a declaration is found after a
statement
-Wdiv-by-zero Warn about compile-time integer division by zero
-Wendif-labels Warn about stray tokens after #elif and #endif
-Werror-implicit-function-declaration Make implicit function declarations an
error
-Wfloat-equal Warn if testing floating point numbers for
equality
-Wformat Warn about printf/scanf/strftime/strfmon format
string anomalies
-Wformat-extra-args Warn if passing too many arguments to a function
for its format string
-Wformat-nonliteral Warn about format strings that are not literals
-Wformat-security Warn about possible security problems with format
functions
-Wformat-y2k Warn about strftime formats yielding 2-digit years
-Wformat-zero-length This switch lacks documentation
-Wformat= This switch lacks documentation
-Wimplicit This switch lacks documentation
-Wimplicit-function-declaration Warn about implicit function declarations
-Wimplicit-int Warn when a declaration does not specify a type
-Wimport This switch lacks documentation
-Winit-self Warn about variables which are initialized to
themselves.
-Winvalid-pch Warn about PCH files that are found but not used
-Wmain Warn about suspicious declarations of "main"
-Wmissing-braces Warn about possibly missing braces around
initializers
-Wmissing-declarations Warn about global functions without previous
declarations
-Wmissing-format-attribute Warn about functions which might be candidates
for format attributes
-Wmultichar Warn about use of multi-character character
constants
-Wnested-externs Warn about "extern" declarations not at file scope
-Wnonnull This switch lacks documentation
-Wold-style-definition Warn if an old-style parameter definition is used
-Wparentheses Warn about possibly missing parentheses
-Wpointer-arith Warn about function pointer arithmetic
-Wredundant-decls Warn about multiple declarations of the same
object
-Wreturn-type Warn whenever a function's return type defaults
to "int" (C), or about inconsistent return types
(C++)
-Wsequence-point Warn about possible violations of sequence point
rules
-Wsign-compare Warn about signed-unsigned comparisons
-Wtraditional Warn about features not present in traditional C
-Wtrigraphs This switch lacks documentation
-Wundef Warn if an undefined macro is used in an #if
directive
-Wunknown-pragmas Warn about unrecognized pragmas
-Wunused-macros Warn about macros defined in the main file that
are not used
-ansi A synonym for -std=c89. In a future version of
GCC it will become synonymous with -std=c99
instead
-fasm Recognize the "asm" keyword
-fbuiltin Recognize built-in functions
-fbuiltin- This switch lacks documentation
-fcond-mismatch Allow the arguments of the '?' operator to have
different types
-fdollars-in-identifiers Permit '$' as an identifier character
-fdump- This switch lacks documentation
-fexec-charset= Convert all strings and character constants to
character set
-ffixed-form This switch lacks documentation
ffixed-line-length- Set the maximum line length to
-ffreestanding Do not assume that standard C libraries and
"main" exist
-fhosted Assume normal C execution environment
-finput-charset= -finput-charset= Specify the default
character set for source files.
-fms-extensions Don't warn about uses of Microsoft extensions
-fpch-deps This switch lacks documentation
-fpreprocessed This switch lacks documentation
-fshort-double Use the same size for double as for float
-fshort-enums Use the narrowest integer type possible for
enumeration types
-fshort-wchar Force the underlying type for "wchar_t" to be
"unsigned short"
-fshow-column This switch lacks documentation
-fsigned-bitfields When "signed" or "unsigned" is not given make the
bitfield signed
-fsigned-char Make "char" signed by default
-ftabstop= Distance between tab stops for column reporting
-funsigned-bitfields When "signed" or "unsigned" is not given make the
bitfield unsigned
-funsigned-char Make "char" unsigned by default
-fwide-exec-charset= Convert all wide strings and character constants
to character set
-fworking-directory Generate a #line directive pointing at the
current working directory
-idirafter Add to the end of the system include path
-imacros Accept definition of macros in
-include Include the contents of before other files
-iprefix Specify as a prefix for next two options
-isysroot Set to be the system root directory
-isystem Add to the start of the system include path
-iwithprefix Add to the end of the system include path
-iwithprefixbefore Add to the end of the main include path
-remap Remap file names when including files
-std=c89 Conform to the ISO 1990 C standard
-std=c99 Conform to the ISO 1999 C standard
-std=c9x Deprecated in favor of -std=c99
-std=gnu89 Conform to the ISO 1990 C standard with GNU
extensions
-std=gnu99 Conform to the ISO 1999 C standard with GNU
extensions
-std=gnu9x Deprecated in favor of -std=gnu99
-std=iso9899:1990 Deprecated in favor of -std=c89
-std=iso9899:199409 Conform to the ISO 1990 C standard as amended in
1994
-std=iso9899:1999 Deprecated in favor of -std=c99
-std=iso9899:199x Deprecated in favor of -std=c99
-traditional-cpp Enable traditional preprocessing
-trigraphs Support ISO C trigraphs
-undef Do not predefine system-specific and GCC-specific
macros
-v Enable verbose output
MinGW v3.4.2 32-bit Options - Group 4
The C++ front end recognizes the following options:
--output-pch=, -A, -C, -CC, -D, -H, -I, -M, -MD, -MF, -MG, -MM, -MMD, -MP, -MQ,
-MT, -P, -U, -Wall, -Wcast-qual, -Wchar-subscripts, -Wcomment, -Wcomments,
-Wconversion, -Wendif-labels, -Wfloat-equal, -Wformat, -Wformat-extra-args,
-Wformat-nonliteral, -Wformat-security, -Wformat-y2k, -Wformat=, -Wimplicit,
-Wimport, -Winit-self, -Winvalid-pch, -Wlong-long, -Wmissing-braces,
-Wmissing-format-attribute, -Wmultichar, -Wparentheses, -Wpointer-arith,
-Wredundant-decls, -Wreturn-type, -Wsign-compare, -Wtrigraphs, -Wundef,
-Wunknown-pragmas, -Wunused-macros, -Wwrite-strings, -ansi, -fasm, -fbuiltin,
-fbuiltin-, -fcond-mismatch, -fdollars-in-identifiers, -fdump-,
-fexec-charset=, -finput-charset=, -fms-extensions, -fpch-deps, -fpreprocessed,
-fshort-double, -fshort-enums, -fshort-wchar, -fshow-column,
-fsigned-bitfields, -fsigned-char, -ftabstop=, -funsigned-bitfields,
-funsigned-char, -fwide-exec-charset=, -fworking-directory, -idirafter,
-imacros, -include, -iprefix, -isysroot, -isystem, -iwithprefix,
-iwithprefixbefore, -nostdinc, -remap, -traditional-cpp, -trigraphs, -undef,
-v
-Wabi This switch lacks documentation
-Wctor-dtor-privacy Warn when all constructors and destructors are
private
-Wdeprecated Warn if deprecated class, method, or field is used
-Weffc++ Warn about violations of Effective C++ style rules
-Winvalid-offsetof Warn about invalid uses of the "offsetof" macro
-Wnon-template-friend Warn when non-templatized friend functions are
declared within a template
-Wnon-virtual-dtor Warn about non-virtual destructors
-Wold-style-cast Warn if a C-style cast is used in a program
-Woverloaded-virtual Warn about overloaded virtual function names
-Wpmf-conversions Warn when converting the type of pointers to
member functions
-Wreorder Warn when the compiler reorders code
-Wsign-promo Warn when overload promotes from unsigned to
signed
-Wsynth Warn when synthesis behavior differs from Cfront
-faccess-control Enforce class member access control semantics
-fall-virtual This switch lacks documentation
-falt-external-templates Change when template instances are emitted
-fcheck-new Check the return value of new
-fconserve-space Reduce the size of object files
-fconst-strings Make string literals "const char[]" not "char[]"
-fdefault-inline Inline member functions by default
-felide-constructors This switch lacks documentation
-fenforce-eh-specs Generate code to check exception specifications
-fenum-int-equiv This switch lacks documentation
-fexternal-templates This switch lacks documentation
-ffor-scope Scope of for-init-statement variables is local to
the loop
-fgnu-keywords Recognize GNU-defined keywords
-fguiding-decls This switch lacks documentation
-fhandle-exceptions This switch lacks documentation
-fhonor-std This switch lacks documentation
-fhuge-objects Enable support for huge objects
-fimplement-inlines Export functions even if they can be inlined
-fimplicit-inline-templates Emit implicit instantiations of inline templates
-fimplicit-templates Emit implicit instantiations of templates
-flabels-ok This switch lacks documentation
-fname-mangling-version- This switch lacks documentation
-fnew-abi This switch lacks documentation
-fnonansi-builtins This switch lacks documentation
-fnonnull-objects This switch lacks documentation
-foperator-names Recognize C++ kewords like "compl" and "xor"
-foptional-diags Enable optional diagnostics
-fpermissive Downgrade conformance errors to warnings
-frepo Enable automatic template instantiation
-frtti Generate run time type descriptor information
-fsquangle This switch lacks documentation
-fstats Display statistics accumulated during compilation
-fstrict-prototype This switch lacks documentation
-ftemplate-depth- Specify maximum template instantiation depth
-fthis-is-variable This switch lacks documentation
-fuse-cxa-atexit Use __cxa_atexit to register destructors
-fvtable-gc Discard unused virtual functions
-fvtable-thunks Implement vtables using thunks
-fweak Emit common-like symbols as weak symbols
-fxref Emit cross referencing information
-nostdinc++ Do not search standard system include directories
for C++
-std=c++98 Conform to the ISO 1998 C++ standard
-std=gnu++98 Conform to the ISO 1998 C++ standard with GNU
extensions
MinGW v3.4.2 32-bit Options - Group 5
The F77 front end recognizes the following options:
-I, -Wall, -Wcomment, -Wcomments, -Wimplicit, -Wimport, -Wtrigraphs,
-ffixed-form, -ffixed-line-length-, -fpreprocessed
-Wglobals Enable warnings about inter-procedural problems
-Wsurprising Warn about constructs with surprising meanings
-fautomatic Do not treat local variables and COMMON blocks as
if they were named in SAVE statements
-fbackslash Backslashes in character and hollerith constants
are special (not C-style)
-fbadu77-intrinsics-delete Delete libU77 intrinsics with bad interfaces
-fbadu77-intrinsics-disable Disable libU77 intrinsics with bad interfaces
-fbadu77-intrinsics-enable Enable libU77 intrinsics with bad interfaces
-fbadu77-intrinsics-hide Hide libU77 intrinsics with bad interfaces
-fcase-initcap Program written in strict mixed-case
-fcase-lower Compile as if program written in lowercase
-fcase-preserve Preserve case used in program
-fcase-strict-lower Program written in lowercase
-fcase-strict-upper Program written in uppercase
-fcase-upper Compile as if program written in uppercase
-fdebug-kludge Emit special debugging information for COMMON and
EQUIVALENCE (disabled)
-fdollar-ok Allow '$' in symbol names
-femulate-complex Have front end emulate COMPLEX arithmetic to
avoid bugs
-ff2c f2c-compatible code can be generated
-ff2c-intrinsics-delete Delete non-FORTRAN-77 intrinsics f2c supports
-ff2c-intrinsics-disable Disable non-FORTRAN-77 intrinsics f2c supports
-ff2c-intrinsics-enable Enable non-FORTRAN-77 intrinsics f2c supports
-ff2c-intrinsics-hide Hide non-FORTRAN-77 intrinsics f2c supports
-ff2c-library Unsupported; generate libf2c-calling code
-ff66 Program is written in typical FORTRAN 66 dialect
-ff77 Program is written in typical Unix-f77 dialect
-ff90 Program is written in Fortran-90-ish dialect
-ff90-intrinsics-delete Delete non-FORTRAN-77 intrinsics F90 supports
-ff90-intrinsics-disable Disable non-FORTRAN-77 intrinsics F90 supports
-ff90-intrinsics-enable Enable non-FORTRAN-77 intrinsics F90 supports
-ff90-intrinsics-hide Hide non-FORTRAN-77 intrinsics F90 supports
-ff90-not-vxt This switch lacks documentation
-fflatten-arrays Unsupported; affects code generation of arrays
-ffortran-bounds-check Generate code to check subscript and substring
bounds
-ffree-form Program is written in Fortran-90-ish free form
-fglobals Enable fatal diagnostics about inter-procedural
problems
-fgnu-intrinsics-delete Delete non-FORTRAN-77 intrinsics g77 supports
-fgnu-intrinsics-disable Disable non-FORTRAN 77 intrinsics F90 supports
-fgnu-intrinsics-enable Enable non-FORTRAN 77 intrinsics F90 supports
-fgnu-intrinsics-hide Hide non-FORTRAN 77 intrinsics F90 supports
-finit-local-zero Initialize local vars and arrays to zero
-fintrin-case-any Intrinsics letters in arbitrary cases
-fintrin-case-initcap Intrinsics spelled as e.g. SqRt
-fintrin-case-lower Intrinsics in lowercase
-fintrin-case-upper Intrinsics in uppercase
-fmatch-case-any Language keyword letters in arbitrary cases
-fmatch-case-initcap Language keywords spelled as e.g. IOStat
-fmatch-case-lower Language keywords in lowercase
-fmatch-case-upper Language keywords in uppercase
-fmil-intrinsics-delete Delete MIL-STD 1753 intrinsics
-fmil-intrinsics-disable Disable MIL-STD 1753 intrinsics
-fmil-intrinsics-enable Enable MIL-STD 1753 intrinsics
-fmil-intrinsics-hide Hide MIL-STD 1753 intrinsics
-fonetrip Take at least one trip through each iterative DO
loop
-fpedantic Warn about use of (only a few for now) Fortran
extensions
-fsecond-underscore Allow appending a second underscore to externals
-fsilent Do not print names of program units as they are
compiled
-fsource-case-lower Internally convert most source to lowercase
-fsource-case-preserve Internally preserve source case
-fsource-case-upper Internally convert most source to uppercase
-fsymbol-case-any This switch lacks documentation
-fsymbol-case-initcap Symbol names spelled in mixed case
-fsymbol-case-lower Symbol names in lowercase
-fsymbol-case-upper Symbol names in uppercase
-ftypeless-boz Make prefix-radix non-decimal constants be
typeless
-fugly Allow all ugly features
-fugly-args Hollerith and typeless can be passed as arguments
-fugly-assign Allow ordinary copying of ASSIGN'ed vars
-fugly-assumed Dummy array dimensioned to (1) is assumed-size
-fugly-comma Trailing comma in procedure call denotes null
argument
-fugly-complex Allow REAL(Z) and AIMAG(Z) given DOUBLE COMPLEX Z
-fugly-init Initialization via DATA and PARAMETER is not type-
compatible
-fugly-logint Allow INTEGER and LOGICAL interchangeability
-funderscoring Append underscores to externals
-funix-intrinsics-delete Delete libU77 intrinsics
-funix-intrinsics-disable Disable libU77 intrinsics
-funix-intrinsics-enable Enable libU77 intrinsics
-funix-intrinsics-hide Hide libU77 intrinsics
-fversion Print g77-specific version information and run
internal tests
-fvxt Program is written in VXT (Digital-like) FORTRAN
-fvxt-intrinsics-delete Delete non-FORTRAN-77 intrinsics VXT FORTRAN
supports
-fvxt-intrinsics-disable Disable non-FORTRAN-77 intrinsics VXT FORTRAN
supports
-fvxt-intrinsics-enable Enable non-FORTRAN-77 intrinsics VXT FORTRAN
supports
-fvxt-intrinsics-hide Hide non-FORTRAN-77 intrinsics VXT FORTRAN
supports
-fvxt-not-f90 This switch lacks documentation
-fxyzzy Print internal debugging-related information
-fzeros Treat initial values of 0 like non-zero values
MinGW v3.4.2 32-bit Options - Group 6
The Java front end recognizes the following options:
-I, -M, -MF, -MM, -MP, -MT, -Wall, -Wdeprecated, -fdump-
-Wextraneous-semicolon Warn if deprecated empty statements are found
-Wout-of-date Warn if .class files are out of date
-Wredundant-modifiers Warn if modifiers are specified when not necessary
--CLASSPATH Deprecated; use --classpath instead
-fassert This switch lacks documentation
-fassume-compiled This switch lacks documentation
-fassume-compiled= This switch lacks documentation
--bootclasspath= Replace system path
-fcheck-references This switch lacks documentation
--classpath= Set class path
-fcompile-resource= This switch lacks documentation
-femit-class-file This switch lacks documentation
-femit-class-files This switch lacks documentation
--encoding= Choose input encoding (defaults from your locale)
-fextdirs= This switch lacks documentation
-ffilelist-file This switch lacks documentation
-fforce-classes-archive-check Always check for non gcj generated classes
archives
-fhash-synchronization This switch lacks documentation
-findirect-dispatch Use offset tables for virtual method calls
-fjni Assume native functions are implemented using JNI
-foptimize-static-class-initialization Enable optimization of static class
initialization code
-foutput-class-dir= This switch lacks documentation
-fstore-check Enable assignability checks for stores into
object arrays
-fuse-boehm-gc This switch lacks documentation
-fuse-divide-subroutine This switch lacks documentation
MinGW v3.4.2 32-bit Options - Group 9
Target specific options:
-mthreads Use Mingw-specific thread support
-mnop-fun-dllimport Ignore dllimport for functions
-mdll Generate code for a DLL
-mconsole Create console application
-mwin32 Set Windows defines
-mno-win32 Don't set Windows defines
-mwindows Create GUI application
-mno-cygwin Use the Mingw32 interface
-mcygwin Use the Cygwin interface
-mno-tls-direct-seg-refs Do not use direct references against %gs when accessing tls data
-mtls-direct-seg-refs Use direct references against %gs when accessing tls data
-mno-red-zone Do not use red-zone in the x86-64 code
-mred-zone Use red-zone in the x86-64 code
-mno-ms-bitfields Use gcc default bitfield layout
-mms-bitfields Use native (MS) bitfield layout
-m32 Generate 32bit i386 code
-m64 Generate 64bit x86-64 code
-m96bit-long-double sizeof(long double) is 12
-m128bit-long-double sizeof(long double) is 16
-mno-sse3 Do not support MMX, SSE, SSE2 and SSE3 built-in functions and code generation
-msse3 Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation
-mno-sse2 Do not support MMX, SSE and SSE2 built-in functions and code generation
-msse2 Support MMX, SSE and SSE2 built-in functions and code generation
-mno-sse Do not support MMX and SSE built-in functions and code generation
-msse Support MMX and SSE built-in functions and code generation
-mno-3dnow Do not support 3DNow! built-in functions
-m3dnow Support 3DNow! built-in functions
-mno-mmx Do not support MMX built-in functions
-mmmx Support MMX built-in functions
-mno-accumulate-outgoing-args Do not use push instructions to save outgoing arguments
-maccumulate-outgoing-args Use push instructions to save outgoing arguments
-mno-push-args Do not use push instructions to save outgoing arguments
-mpush-args Use push instructions to save outgoing arguments
-mno-inline-all-stringops Do not inline all known string operations
-minline-all-stringops Inline all known string operations
-mno-align-stringops Do not align destination of the string operations
-malign-stringops Align destination of the string operations
-mstack-arg-probe Enable stack probing
-momit-leaf-frame-pointer Omit the frame pointer in leaf functions
-mfancy-math-387 Generate sin, cos, sqrt for FPU
-mno-fancy-math-387 Do not generate sin, cos, sqrt for FPU
-mno-fp-ret-in-387 Do not return values of functions in FPU registers
-mfp-ret-in-387 Return values of functions in FPU registers
-mno-ieee-fp Do not use IEEE math for fp comparisons
-mieee-fp Use IEEE math for fp comparisons
-mno-svr3-shlib Uninitialized locals in .data
-msvr3-shlib Uninitialized locals in .bss
-mno-align-double Align doubles on word boundary
-malign-double Align some doubles on dword boundary
-mno-rtd Use normal calling convention
-mrtd Alternate calling convention
-mno-soft-float Use hardware fp
-msoft-float Do not use hardware fp
-mhard-float Use hardware fp
-mno-80387 Do not use hardware fp
-m80387 Use hardware fp
-mtls-dialect= Use given thread-local storage dialect
-masm= Use given assembler dialect
-mcmodel= Use given x86-64 code model
-mbranch-cost= Branches are this expensive (1-5, arbitrary units)
-mpreferred-stack-boundary= Attempt to keep stack aligned to this power of 2
-malign-functions= Function starts are aligned to this power of 2
-malign-jumps= Jump targets are aligned to this power of 2
-malign-loops= Loop code aligned to this power of 2
-mregparm= Number of registers used to pass integer arguments
-march= Generate code for given CPU
-mfpmath= Generate floating point mathematics using given instruction set
-mtune= Schedule code for given CPU
MinGW v3.4.2 32-bit Options - Group 10
There are undocumented target specific options as well.
Usage: C:\WorkLib\MinGW342\Bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\as.exe [option...] [asmfile...]
Options:
-a[sub-option...] turn on listings
Sub-options [default hls]:
c omit false conditionals
d omit debugging directives
h include high-level source
l include assembly
m include macro expansions
n omit forms processing
s include symbols
=FILE list to FILE (must be last sub-option)
--alternate initially turn on alternate macro syntax
-D produce assembler debugging messages
--defsym SYM=VAL define symbol SYM to given value
-f skip whitespace and comment preprocessing
-g --gen-debug generate debugging information
--gstabs generate STABS debugging information
--gstabs+ generate STABS debug info with GNU extensions
--gdwarf-2 generate DWARF2 debugging information
--help show this message and exit
--target-help show target specific options
-I DIR add DIR to search list for .include directives
-J don't warn about signed overflow
-K warn when differences altered for long displacements
-L,--keep-locals keep local symbols (e.g. starting with `L')
-M,--mri assemble in MRI compatibility mode
--MD FILE write dependency information in FILE (default none)
-nocpp ignored
-o OBJFILE name the object-file output OBJFILE (default a.out)
-R fold data section into text section
--statistics print various measured statistics from execution
--strip-local-absolute strip local absolute symbols
--traditional-format Use same format as native assembler when possible
--version print assembler version number and exit
-W --no-warn suppress warnings
--warn don't suppress warnings
--fatal-warnings treat warnings as errors
--itbl INSTTBL extend instruction set to include instructions
matching the specifications defined in file INSTTBL
-w ignored
-X ignored
-Z generate object file even after errors
--listing-lhs-width set the width in words of the output data column of
the listing
--listing-lhs-width2 set the width in words of the continuation lines
of the output data column; ignored if smaller than
the width of the first line
--listing-rhs-width set the max width in characters of the lines from
the source file
--listing-cont-lines set the maximum number of continuation lines used
for the output data column of the listing
-n Do not optimize code alignment
-q quieten some warnings
MinGW v3.4.2 32-bit Options - Group 11
Report bugs to
Usage: gcc.exe [options] file...
Options:
-pass-exit-codes Exit with highest error code from a phase
--help Display this information
--target-help Display target specific command line options
-dumpspecs Display all of the built in spec strings
-dumpversion Display the version of the compiler
-dumpmachine Display the compiler's target processor
-print-search-dirs Display the directories in the compiler's search path
-print-libgcc-file-name Display the name of the compiler's companion library
-print-file-name= Display the full path to library
-print-prog-name= Display the full path to compiler component
-print-multi-directory Display the root directory for versions of libgcc
-print-multi-lib Display the mapping between command line options and
multiple library search directories
-print-multi-os-directory Display the relative path to OS libraries
-Wa, Pass comma-separated on to the assembler
-Wp, Pass comma-separated on to the preprocessor
-Wl, Pass comma-separated on to the linker
-Xassembler Pass on to the assembler
-Xpreprocessor Pass on to the preprocessor
-Xlinker Pass on to the linker
-save-temps Do not delete intermediate files
-pipe Use pipes rather than intermediate files
-time Time the execution of each subprocess
-specs= Override built-in specs with the contents of
-std= Assume that the input sources are for
-B Add to the compiler's search paths
-b Run gcc for target , if installed
-V Run gcc version number , if installed
-v Display the programs invoked by the compiler
-### Like -v but options quoted and commands not executed
-E Preprocess only; do not compile, assemble or link
-S Compile only; do not assemble or link
-c Compile and assemble, but do not link
-o Place the output into
-x Specify the language of the following input files
Permissible languages include: c c++ assembler none
'none' means revert to the default behavior of
guessing the language based on the file's extension
Options starting with -g, -f, -m, -O, -W, or --param are automatically
passed on to the various sub-processes invoked by gcc.exe. In order to pass
other options on to these processes the -W options must be used.
For bug reporting instructions, please see:
http://www.mingw.org/bugs.shtml
MinGW v4.8.1 32-bit Options - Group 1
Usage: g++.exe [options] file...
Options:
-pass-exit-codes Exit with highest error code from a phase
--help Display this information
--target-help Display target specific command line options
--help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...]
Display specific types of command line options
--version Display compiler version information
-dumpspecs Display all of the built in spec strings
-dumpversion Display the version of the compiler
-dumpmachine Display the compiler's target processor
-print-search-dirs Display the directories in the compiler's search path
-print-libgcc-file-name Display the name of the compiler's companion library
-print-file-name= Display the full path to library
-print-prog-name= Display the full path to compiler component
-print-multiarch Display the target's normalized GNU triplet, used as
a component in the library path
-print-multi-directory Display the root directory for versions of libgcc
-print-multi-lib Display the mapping between command line options and
multiple library search directories
-print-multi-os-directory Display the relative path to OS libraries
-print-sysroot Display the target libraries directory
-print-sysroot-headers-suffix Display the sysroot suffix used to find headers
-Wa, Pass comma-separated on to the assembler
-Wp, Pass comma-separated on to the preprocessor
-Wl, Pass comma-separated on to the linker
-Xassembler Pass on to the assembler
-Xpreprocessor Pass on to the preprocessor
-Xlinker Pass on to the linker
-save-temps Do not delete intermediate files
-save-temps= Do not delete intermediate files
-no-canonical-prefixes Do not canonicalize paths when building relative
prefixes to other gcc components
-pipe Use pipes rather than intermediate files
-time Time the execution of each subprocess
-specs= Override built-in specs with the contents of
-std= Assume that the input sources are for
--sysroot= Use as the root directory for headers
and libraries
-B Add to the compiler's search paths
-v Display the programs invoked by the compiler
-### Like -v but options quoted and commands not executed
-E Preprocess only; do not compile, assemble or link
-S Compile only; do not assemble or link
-c Compile and assemble, but do not link
-o Place the output into
-pie Create a position independent executable
-shared Create a shared library
-x Specify the language of the following input files
Permissible languages include: c c++ assembler none
'none' means revert to the default behavior of
guessing the language based on the file's extension
Options starting with -g, -f, -m, -O, -W, or --param are automatically
passed on to the various sub-processes invoked by g++.exe. In order to pass
other options on to these processes the -W options must be used.
The following options are specific to just the language Ada:
None found. Use --help=Ada to show *all* the options supported by the Ada front-end
The following options are specific to just the language AdaSCIL:
None found. Use --help=AdaSCIL to show *all* the options supported by the AdaSCIL front-end
The following options are specific to just the language AdaWhy:
None found. Use --help=AdaWhy to show *all* the options supported by the AdaWhy front-end
The following options are specific to just the language C:
-lang-asm This switch lacks documentation
The following options are specific to just the language C++:
None found. Use --help=C++ to show *all* the options supported by the C++ front-end
MinGW v4.8.1 32-bit Options - Group 2
The following options are specific to just the language Fortran:
-J Put MODULE files in 'directory'
-Waliasing Warn about possible aliasing of dummy arguments
-Walign-commons Warn about alignment of COMMON blocks
-Wampersand Warn about missing ampersand in continued
character constants
-Warray-temporaries Warn about creation of array temporaries
-Wc-binding-type Warn if the type of a variable might be not
interoperable with C
-Wcharacter-truncation Warn about truncated character expressions
-Wcompare-reals Warn about equality comparisons involving REAL or
COMPLEX expressions
-Wconversion-extra Warn about most implicit conversions
-Wextra Print extra (possibly unwanted) warnings
-Wfunction-elimination Warn about function call elimination
-Wimplicit-interface Warn about calls with implicit interface
-Wimplicit-procedure Warn about called procedures not explicitly
declared
-Wintrinsic-shadow Warn if a user-procedure has the same name as an
intrinsic
-Wintrinsics-std Warn on intrinsics not part of the selected
standard
-Wline-truncation Warn about truncated source lines
-Wreal-q-constant Warn about real-literal-constants with 'q'
exponent-letter
-Wrealloc-lhs Warn when a left-hand-side array variable is
reallocated
-Wrealloc-lhs-all Warn when a left-hand-side variable is reallocated
-Wsurprising Warn about "suspicious" constructs
-Wtabs Permit nonconforming uses of the tab character
-Wtarget-lifetime Warn if the pointer in a pointer assignment might
outlive its target
-Wunderflow Warn about underflow of numerical constant
expressions
-Wunused-dummy-argument Warn about unused dummy arguments.
-cpp Enable preprocessing
-cpp= This switch lacks documentation
-faggressive-function-elimination Eliminate multiple function invokations
also for impure functions
-falign-commons Enable alignment of COMMON blocks
-fall-intrinsics All intrinsics procedures are available
regardless of selected standard
-fallow-leading-underscore This switch lacks documentation
-fautomatic Do not treat local variables and COMMON blocks as
if they were named in SAVE statements
-fbackslash Specify that backslash in string introduces an
escape character
-fbacktrace Produce a backtrace when a runtime error is
encountered
-fblas-matmul-limit= Size of the smallest matrix for which matmul will
use BLAS
-fcheck-array-temporaries Produce a warning at runtime if a array temporary
has been created for a procedure argument
-fcheck=[...] Specify which runtime checks are to be performed
-fcoarray=[...] Specify which coarray parallelization should be
used
-fconvert=big-endian Use big-endian format for unformatted files
-fconvert=little-endian Use little-endian format for unformatted files
-fconvert=native Use native format for unformatted files
-fconvert=swap Swap endianness for unformatted files
-fcray-pointer Use the Cray Pointer extension
-fd-lines-as-code Ignore 'D' in column one in fixed form
-fd-lines-as-comments Treat lines with 'D' in column one as comments
-fdefault-double-8 Set the default double precision kind to an 8
byte wide type
-fdefault-integer-8 Set the default integer kind to an 8 byte wide
type
-fdefault-real-8 Set the default real kind to an 8 byte wide type
-fdollar-ok Allow dollar signs in entity names
-fdump-core Does nothing. Preserved for backward
compatibility.
-fdump-fortran-optimized Display the code tree after front end optimization
-fdump-fortran-original Display the code tree after parsing
-fdump-parse-tree Display the code tree after parsing; deprecated
option
-fexternal-blas Specify that an external BLAS library should be
used for matmul calls on large-size arrays
-ff2c Use f2c calling convention
-ffixed-form Assume that the source file is fixed form
-ffixed-line-length- Use n as character line width in fixed mode
-ffixed-line-length-none Allow arbitrary character line width in fixed mode
-ffpe-trap=[...] Stop on following floating point exceptions
-ffree-form Assume that the source file is free form
-ffree-line-length- Use n as character line width in free mode
-ffree-line-length-none Allow arbitrary character line width in free mode
-ffrontend-optimize Enable front end optimization
-fimplicit-none Specify that no implicit typing is allowed,
unless overridden by explicit IMPLICIT statements
-finit-character= Initialize local character variables to ASCII
value n
-finit-integer= Initialize local integer variables to n
-finit-local-zero Initialize local variables to zero (from g77)
-finit-logical= Initialize local logical variables
-finit-real= Initialize local real variables
-finteger-4-integer-8 Interpret any INTEGER(4) as an INTEGER(8)
-fintrinsic-modules-path Specify where to find the compiled intrinsic
modules
-fintrinsic-modules-path= Specify where to find the compiled intrinsic
modules
-fmax-array-constructor= Maximum number of objects in an array constructor
-fmax-identifier-length= Maximum identifier length
-fmax-stack-var-size= Size in bytes of the largest array that will be
put on the stack
-fmax-subrecord-length= Maximum length for subrecords
-fmodule-private Set default accessibility of module entities to
PRIVATE.
-fpack-derived Try to lay out derived types as compactly as
possible
-fprotect-parens Protect parentheses in expressions
-frange-check Enable range checking during compilation
-freal-4-real-10 Interpret any REAL(4) as a REAL(10)
-freal-4-real-16 Interpret any REAL(4) as a REAL(16)
-freal-4-real-8 Interpret any REAL(4) as a REAL(8)
-freal-8-real-10 Interpret any REAL(8) as a REAL(10)
-freal-8-real-16 Interpret any REAL(8) as a REAL(16)
-freal-8-real-4 Interpret any REAL(8) as a REAL(4)
-frealloc-lhs Reallocate the LHS in assignments
-frecord-marker=4 Use a 4-byte record marker for unformatted files
-frecord-marker=8 Use an 8-byte record marker for unformatted files
-frecursive Allocate local variables on the stack to allow
indirect recursion
-frepack-arrays Copy array sections into a contiguous block on
procedure entry
-fsecond-underscore Append a second underscore if the name already
contains an underscore
-fsign-zero Apply negative sign to zero values
-fstack-arrays Put all local arrays on stack.
-funderscoring Append underscores to externally visible names
-fwhole-file Compile all program units at once and check all
interfaces
-nocpp Disable preprocessing
-static-libgfortran Statically link the GNU Fortran helper library
(libgfortran)
-std=f2003 Conform to the ISO Fortran 2003 standard
-std=f2008 Conform to the ISO Fortran 2008 standard
-std=f2008ts Conform to the ISO Fortran 2008 standard
including TS 29113
-std=f95 Conform to the ISO Fortran 95 standard
-std=gnu Conform to nothing in particular
-std=legacy Accept extensions to support legacy code
MinGW v4.8.1 32-bit Options - Group 3
The following options are specific to just the language Go:
-L This switch lacks documentation
-fgo-check-divide-overflow Add explicit checks for division overflow in
INT_MIN / -1
-fgo-check-divide-zero Add explicit checks for division by zero
-fgo-dump- Dump Go frontend internal information
-fgo-optimize- Turn on optimization passes in the frontend
-fgo-pkgpath= Set Go package path
-fgo-prefix= Set package-specific prefix for exported Go names
-fgo-relative-import-path= -fgo-relative-import-path= Treat a relative
import as relative to path
-frequire-return-statement Functions which return values must end with
return statements
MinGW v4.8.1 32-bit Options - Group 4
The following options are specific to just the language Java:
--CLASSPATH This switch lacks documentation
--bootclasspath This switch lacks documentation
--classpath This switch lacks documentation
--encoding This switch lacks documentation
--extdirs This switch lacks documentation
--output-class-directory This switch lacks documentation
--output-class-directory= This switch lacks documentation
--resource This switch lacks documentation
--resource= This switch lacks documentation
-CLASSPATH This switch lacks documentation
-MD_ This switch lacks documentation
-MMD_ This switch lacks documentation
-Wall-deprecation This switch lacks documentation
-Wall-javadoc This switch lacks documentation
-Wassert-identifier This switch lacks documentation
-Wboxing This switch lacks documentation
-Wchar-concat This switch lacks documentation
-Wcondition-assign This switch lacks documentation
-Wconstructor-name This switch lacks documentation
-Wdep-ann This switch lacks documentation
-Wdiscouraged This switch lacks documentation
-Wempty-block This switch lacks documentation
-Wenum-identifier This switch lacks documentation
-Wenum-switch This switch lacks documentation
-Wextraneous-semicolon Warn if deprecated empty statements are found
-Wfallthrough This switch lacks documentation
-Wfield-hiding This switch lacks documentation
-Wfinal-bound This switch lacks documentation
-Wfinally This switch lacks documentation
-Wforbidden This switch lacks documentation
-Whiding This switch lacks documentation
-Windirect-static This switch lacks documentation
-Wintf-annotation This switch lacks documentation
-Wintf-non-inherited This switch lacks documentation
-Wjavadoc This switch lacks documentation
-Wlocal-hiding This switch lacks documentation
-Wmasked-catch-block This switch lacks documentation
-Wnls This switch lacks documentation
-Wno-effect-assign This switch lacks documentation
-Wnull This switch lacks documentation
-Wout-of-date Warn if .class files are out of date
-Wover-ann This switch lacks documentation
-Wparam-assign This switch lacks documentation
-Wpkg-default-method This switch lacks documentation
-Wraw This switch lacks documentation
-Wredundant-modifiers Warn if modifiers are specified when not necessary
-Wserial This switch lacks documentation
-Wspecial-param-hiding This switch lacks documentation
-Wstatic-access This switch lacks documentation
-Wstatic-receiver This switch lacks documentation
-Wsuppress This switch lacks documentation
-Wsynthetic-access This switch lacks documentation
-Wtasks This switch lacks documentation
-Wtype-hiding This switch lacks documentation
-Wuncheck This switch lacks documentation
-Wunnecessary-else This switch lacks documentation
-Wunqualified-field This switch lacks documentation
-Wunused-argument This switch lacks documentation
-Wunused-import This switch lacks documentation
-Wunused-label Warn when a label is unused
-Wunused-local This switch lacks documentation
-Wunused-private This switch lacks documentation
-Wunused-thrown This switch lacks documentation
-Wuseless-type-check This switch lacks documentation
-Wvarargs-cast This switch lacks documentation
-Wwarning-token This switch lacks documentation
-bootclasspath This switch lacks documentation
-classpath This switch lacks documentation
-encoding This switch lacks documentation
--CLASSPATH Deprecated; use --classpath instead
-fassert Permit the use of the assert keyword
-fassume-compiled This switch lacks documentation
-fassume-compiled= This switch lacks documentation
-faux-classpath This switch lacks documentation
--bootclasspath= Replace system path
-fbootstrap-classes Generated should be loaded by bootstrap loader
-fcheck-references Generate checks for references to NULL
--classpath= Set class path
-fcompile-resource= This switch lacks documentation
-fdisable-assertions This switch lacks documentation
-fdisable-assertions= This switch lacks documentation
-femit-class-file Output a class file
-femit-class-files Alias for -femit-class-file
-fenable-assertions This switch lacks documentation
-fenable-assertions= This switch lacks documentation
--encoding= Choose input encoding (defaults from your locale)
--extdirs= Set the extension directory path
-ffilelist-file Input file is a file with a list of filenames to
compile
-fforce-classes-archive-check Always check for non gcj generated classes
archives
-fhash-synchronization Assume the runtime uses a hash table to map an
object to its synchronization structure
-findirect-classes Generate instances of Class at runtime
-findirect-dispatch Use offset tables for virtual method calls
-finline-functions Integrate functions not declared "inline" into
their callers when profitable
-fjni Assume native functions are implemented using JNI
-foptimize-static-class-initialization Enable optimization of static class
initialization code
-foutput-class-dir= This switch lacks documentation
-freduced-reflection Reduce the amount of reflection meta-data
generated
-fsaw-java-file This switch lacks documentation
-fsource-filename= This switch lacks documentation
-fsource= Set the source language version
-fstore-check Enable assignability checks for stores into
object arrays
-ftarget= Set the target VM version
-fuse-atomic-builtins Generate code for built-in atomic operations
-fuse-boehm-gc Generate code for the Boehm GC
-fuse-divide-subroutine Call a library routine to do integer divisions
-version Display the compiler's version
The following options are specific to just the language LTO:
-fltrans Run the link-time optimizer in local
transformation (LTRANS) mode.
-fltrans-output-list= Specify a file to which a list of files output by
LTRANS is written.
-fresolution= The resolution file
-fwpa Run the link-time optimizer in whole program
analysis (WPA) mode.
The following options are specific to just the language ObjC:
None found. Use --help=ObjC to show *all* the options supported by the ObjC front-end
The following options are specific to just the language ObjC++:
-fobjc-call-cxx-cdtors Generate special Objective-C methods to
initialize/destroy non-POD C++ ivars, if needed
MinGW v4.8.1 32-bit Options - Group 5
The following options are language-related:
--all-warnings This switch lacks documentation
--ansi This switch lacks documentation
--assert This switch lacks documentation
--assert= This switch lacks documentation
--comments This switch lacks documentation
--comments-in-macros This switch lacks documentation
--define-macro This switch lacks documentation
--define-macro= This switch lacks documentation
--dependencies This switch lacks documentation
--dump This switch lacks documentation
--dump= This switch lacks documentation
--imacros This switch lacks documentation
--imacros= This switch lacks documentation
--include This switch lacks documentation
--include-barrier This switch lacks documentation
--include-directory This switch lacks documentation
--include-directory-after This switch lacks documentation
--include-directory-after= This switch lacks documentation
--include-directory= This switch lacks documentation
--include-prefix This switch lacks documentation
--include-prefix= This switch lacks documentation
--include-with-prefix This switch lacks documentation
--include-with-prefix-after This switch lacks documentation
--include-with-prefix-after= This switch lacks documentation
--include-with-prefix-before This switch lacks documentation
--include-with-prefix-before= This switch lacks documentation
--include-with-prefix= This switch lacks documentation
--include= This switch lacks documentation
--no-line-commands This switch lacks documentation
--no-standard-includes This switch lacks documentation
--no-standard-libraries This switch lacks documentation
--no-warnings This switch lacks documentation
--output This switch lacks documentation
--output-pch= This switch lacks documentation
--output= This switch lacks documentation
--pedantic This switch lacks documentation
--preprocess This switch lacks documentation
--print-missing-file-dependencies This switch lacks documentation
--trace-includes This switch lacks documentation
--traditional-cpp This switch lacks documentation
--trigraphs This switch lacks documentation
--undefine-macro This switch lacks documentation
--undefine-macro= This switch lacks documentation
--user-dependencies This switch lacks documentation
--verbose This switch lacks documentation
--write-dependencies This switch lacks documentation
--write-user-dependencies This switch lacks documentation
-A= Assert the to . Putting '-'
before disables the to
-C Do not discard comments
-CC Do not discard comments in macro expansions
-D[=] Define a with as its value. If
just is given, is taken to be 1
-E This switch lacks documentation
-F Add to the end of the main framework
include path
-H Print the name of header files as they are used
-I Add to the end of the main include path
-M Generate make dependencies
-MD Generate make dependencies and compile
-MF Write dependency output to the given file
-MG Treat missing header files as generated files
-MM Like -M but ignore system header files
-MMD Like -MD but ignore system header files
-MP Generate phony targets for all headers
-MQ Add a MAKE-quoted target
-MT Add an unquoted target
-P Do not generate #line directives
-U Undefine
-Wabi Warn about things that will change when compiling
with an ABI-compliant compiler
-Wabi-tag Warn if a subobject has an abi_tag attribute that
the complete object type does not have
-Waddress Warn about suspicious uses of memory addresses
-Wall Enable most warning messages
-Wassign-intercept Warn whenever an Objective-C assignment is being
intercepted by the garbage collector
-Wbad-function-cast Warn about casting functions to incompatible types
-Wbuiltin-macro-redefined Warn when a built-in preprocessor macro is
undefined or redefined
-Wc++-compat Warn about C constructs that are not in the
common subset of C and C++
-Wc++0x-compat Deprecated in favor of -Wc++11-compat
-Wc++11-compat Warn about C++ constructs whose meaning differs
between ISO C++ 1998 and ISO C++ 2011
-Wcast-qual Warn about casts which discard qualifiers
-Wchar-subscripts Warn about subscripts whose type is "char"
-Wclobbered Warn about variables that might be changed by
"longjmp" or "vfork"
-Wcomment Warn about possibly nested block comments, and
C++ comments spanning more than one physical line
-Wcomments Synonym for -Wcomment
-Wconversion Warn for implicit type conversions that may
change a value
-Wconversion-null Warn for converting NULL from/to a non-pointer
type
-Wctor-dtor-privacy Warn when all constructors and destructors are
private
-Wdeclaration-after-statement Warn when a declaration is found after a
statement
-Wdelete-non-virtual-dtor Warn about deleting polymorphic objects with non-
virtual destructors
-Wdeprecated Warn if a deprecated compiler feature, class,
method, or field is used
-Wdiv-by-zero Warn about compile-time integer division by zero
-Wdouble-promotion Warn about implicit conversions from "float" to
"double"
-Weffc++ Warn about violations of Effective C++ style rules
-Wempty-body Warn about an empty body in an if or else
statement
-Wendif-labels Warn about stray tokens after #elif and #endif
-Wenum-compare Warn about comparison of different enum types
-Werror Treat all warnings as errors
-Werror-implicit-function-declaration This switch is deprecated; use
-Werror=implicit-function-declaration instead
-Wfloat-equal Warn if testing floating point numbers for
equality
-Wformat Warn about printf/scanf/strftime/strfmon format
string anomalies
-Wformat-contains-nul Warn about format strings that contain NUL bytes
-Wformat-extra-args Warn if passing too many arguments to a function
for its format string
-Wformat-nonliteral Warn about format strings that are not literals
-Wformat-security Warn about possible security problems with format
functions
-Wformat-y2k Warn about strftime formats yielding 2-digit years
-Wformat-zero-length Warn about zero-length formats
-Wformat= Warn about printf/scanf/strftime/strfmon format
string anomalies
-Wignored-qualifiers Warn whenever type qualifiers are ignored.
-Wimplicit Warn about implicit declarations
-Wimplicit-function-declaration Warn about implicit function declarations
-Wimplicit-int Warn when a declaration does not specify a type
-Wimport This switch lacks documentation
-Winherited-variadic-ctor Warn about C++11 inheriting constructors when the
base has a variadic constructor
-Winit-self Warn about variables which are initialized to
themselves
-Wint-to-pointer-cast Warn when there is a cast to a pointer from an
integer of a different size
-Winvalid-offsetof Warn about invalid uses of the "offsetof" macro
-Winvalid-pch Warn about PCH files that are found but not used
-Wjump-misses-init Warn when a jump misses a variable initialization
-Wliteral-suffix Warn when a string or character literal is
followed by a ud-suffix which does not begin with
an underscore.
-Wlogical-op Warn when a logical operator is suspiciously
always evaluating to true or false
-Wlong-long Do not warn about using "long long" when -pedantic
-Wmain Warn about suspicious declarations of "main"
-Wmaybe-uninitialized Warn about maybe uninitialized automatic variables
-Wmissing-braces Warn about possibly missing braces around
initializers
-Wmissing-declarations Warn about global functions without previous
declarations
-Wmissing-field-initializers Warn about missing fields in struct initializers
-Wmissing-format-attribute This switch lacks documentation
-Wmissing-include-dirs Warn about user-specified include directories
that do not exist
-Wmissing-parameter-type Warn about function parameters declared without a
type specifier in K&R-style functions
-Wmissing-prototypes Warn about global functions without prototypes
-Wmudflap Warn about constructs not instrumented by
-fmudflap
-Wmultichar Warn about use of multi-character character
constants
-Wnarrowing Warn about narrowing conversions within { } that
are ill-formed in C++11
-Wnested-externs Warn about "extern" declarations not at file scope
-Wnoexcept Warn when a noexcept expression evaluates to
false even though the expression can't actually
throw
-Wnon-template-friend Warn when non-templatized friend functions are
declared within a template
-Wnon-virtual-dtor Warn about non-virtual destructors
-Wnonnull Warn about NULL being passed to argument slots
marked as requiring non-NULL
-Wnormalized= Warn about non-normalised Unicode strings
-Wold-style-cast Warn if a C-style cast is used in a program
-Wold-style-declaration Warn for obsolescent usage in a declaration
-Wold-style-definition Warn if an old-style parameter definition is used
-Woverlength-strings Warn if a string is longer than the maximum
portable length specified by the standard
-Woverloaded-virtual Warn about overloaded virtual function names
-Woverride-init Warn about overriding initializers without side
effects
-Wpacked-bitfield-compat Warn about packed bit-fields whose offset changed
in GCC 4.4
-Wparentheses Warn about possibly missing parentheses
-Wpedantic Issue warnings needed for strict compliance to
the standard
-Wpedantic-ms-format Warn about none ISO msvcrt scanf/printf width
extensions
-Wpmf-conversions Warn when converting the type of pointers to
member functions
-Wpointer-arith Warn about function pointer arithmetic
-Wpointer-sign Warn when a pointer differs in signedness in an
assignment
-Wpointer-to-int-cast Warn when a pointer is cast to an integer of a
different size
-Wpragmas Warn about misuses of pragmas
-Wproperty-assign-default Warn if a property for an Objective-C object has
no assign semantics specified
-Wprotocol Warn if inherited methods are unimplemented
-Wpsabi This switch lacks documentation
-Wredundant-decls Warn about multiple declarations of the same
object
-Wreorder Warn when the compiler reorders code
-Wreturn-local-addr Warn about returning a pointer/reference to a
local or temporary variable.
-Wreturn-type Warn whenever a function's return type defaults
to "int" (C), or about inconsistent return types
(C++)
-Wselector Warn if a selector has multiple methods
-Wsequence-point Warn about possible violations of sequence point
rules
-Wsign-compare Warn about signed-unsigned comparisons
-Wsign-conversion Warn for implicit type conversions between signed
and unsigned integers
-Wsign-promo Warn when overload promotes from unsigned to
signed
-Wsizeof-pointer-memaccess This switch lacks documentation
-Wstrict-aliasing= Warn about code which might break strict aliasing
rules
-Wstrict-null-sentinel Warn about uncasted NULL used as sentinel
-Wstrict-overflow= Warn about optimizations that assume that signed
overflow is undefined
-Wstrict-prototypes Warn about unprototyped function declarations
-Wstrict-selector-match Warn if type signatures of candidate methods do
not match exactly
-Wsuggest-attribute=format Warn about functions which might be candidates
for format attributes
-Wswitch Warn about enumerated switches, with no default,
missing a case
-Wswitch-default Warn about enumerated switches missing a
"default:" statement
-Wswitch-enum Warn about all enumerated switches missing a
specific case
-Wsync-nand Warn when __sync_fetch_and_nand and
__sync_nand_and_fetch built-in functions are used
-Wsynth Deprecated. This switch has no effect
-Wsystem-headers Do not suppress warnings from system headers
-Wtraditional Warn about features not present in traditional C
-Wtraditional-conversion Warn of prototypes causing type conversions
different from what would happen in the absence
of prototype
-Wtrigraphs Warn if trigraphs are encountered that might
affect the meaning of the program
-Wundeclared-selector Warn about @selector()s without previously
declared methods
-Wundef Warn if an undefined macro is used in an #if
directive
-Wuninitialized Warn about uninitialized automatic variables
-Wunknown-pragmas Warn about unrecognized pragmas
-Wunsuffixed-float-constants Warn about unsuffixed float constants
-Wunused Enable all -Wunused- warnings
-Wunused-local-typedefs Warn when typedefs locally defined in a function
are not used
-Wunused-macros Warn about macros defined in the main file that
are not used
-Wunused-result Warn if a caller of a function, marked with
attribute warn_unused_result, does not use its
return value
-Wuseless-cast Warn about useless casts
-Wvarargs Warn about questionable usage of the macros used
to retrieve variable arguments
-Wvariadic-macros Warn about using variadic macros
-Wvirtual-move-assign Warn if a virtual base has a non-trivial move
assignment operator
-Wvla Warn if a variable length array is used
-Wvolatile-register-var Warn when a register variable is declared volatile
-Wwrite-strings In 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-constant Warn when a literal '0' is used as null
pointer