align
Determines whether variables and arrays are naturally aligned.
auto-ilp32, Qauto-ilp32
Instructs the compiler to analyze the program to determine if there are 64-bit pointers that can be safely shrunk into 32-bit pointers and if there are 64-bit longs (on Linux* systems) that can be safely shrunk into 32-bit longs.
auto-p32
Instructs the compiler to analyze the program to determine if there are 64-bit pointers that can be safely shrunk to 32-bit pointers.
check-pointers-mpx, Qcheck-pointers-mpx
Determines whether the compiler checks bounds for memory access through pointers on processors that support Intel® Memory Protection Extensions (Intel® MPX).
fmath-errno
Tells the compiler that errno can be reliably tested after calls to standard math library functions.
fminshared
Specifies that a compilation unit is a component of a main program and should not be linked as part of a shareable object.
fmudflap
The compiler instruments risky pointer operations to prevent buffer overflows and invalid heap use. This is a deprecated option. There is no replacement option. You can consider using the Pointer Checker options (such as option -check-pointers).
fpack-struct
Specifies that structure members should be packed together.
fpascal-strings
Tells the compiler to allow for Pascal-style string literals.
fpic
Determines whether the compiler generates position-independent code.
fpie
Tells the compiler to generate position-independent code. The generated code can only be linked into executables.
freg-struct-return
Tells the compiler to return struct and union values in registers when possible.
fstack-protector
Enables or disables stack overflow security checks for certain (or all) routines.
fstack-security-check
Determines whether the compiler generates code that detects some buffer overruns.
fvisibility
Specifies the default visibility for global symbols or the visibility for symbols in a file.
fvisibility-inlines-hidden
Causes inline member functions (those defined in the class declaration) to be marked hidden.
GA
Enables faster access to certain thread-local storage (TLS) variables.
Gs
Lets you control the threshold at which the stack checking routine is called or not called.
GS
Determines whether the compiler generates code that detects some buffer overruns.
GT
Enables fiber-safe thread-local storage of data.
homeparams
Tells the compiler to store parameters passed in registers to the stack.
malign-double
Determines whether double, long double, and long long types are naturally aligned. This option is equivalent to specifying option align.
malign-mac68k
Aligns structure fields on 2-byte boundaries (m68k compatible).
malign-natural
Aligns larger types on natural size-based boundaries (overrides ABI).
malign-power
Aligns based on ABI-specified alignment rules.
mcmodel
Tells the compiler to use a specific memory model to generate code and store data.
mdynamic-no-pic
Generates code that is not position-independent but has position-independent external references.
mlong-double
Lets you override the default configuration of the long double data type.
no-bss-init, Qnobss-init
Tells the compiler to place in the DATA section any uninitialized variables and explicitly zero-initialized variables. This option is deprecated and will be removed in a future release.