Data Options
- 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, Qcheck-pointers
Determines whether the compiler checks bounds for memory access through pointers.
- check-pointers-dangling, Qcheck-pointers-dangling
Determines whether the compiler checks for dangling pointer references.
- 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).
- check-pointers-narrowing, Qcheck-pointers-narrowing
Determines whether the compiler enables or disables the narrowing of pointers to structure fields.
- check-pointers-undimensioned, Qcheck-pointers-undimensioned
Determines whether the compiler checks bounds for memory access through arrays that are declared without dimensions.
- falign-functions, Qfnalign
Tells the compiler to align functions on an optimal byte boundary.
- falign-loops, Qalign-loops
Aligns loops to a power-of-two byte boundary.
- falign-stack
Tells the compiler the stack alignment to use on entry to routines.
- fcommon
Determines whether the compiler treats common symbols as global definitions.
- fextend-arguments, Qextend-arguments
Controls how scalar integer arguments are extended in calls to unprototyped and varargs functions.
- fkeep-static-consts, Qkeep-static-consts
Tells the compiler to preserve allocation of variables that are not referenced in the source.
- 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.
- fzero-initialized-in-bss, Qzero-initialized-in-bss
Determines whether the compiler places in the DATA section any variables explicitly initialized with zeros.
- 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.
- noBool
Disables the bool keyword.
- Qlong-double
Changes the default size of the long double data type.
- Qsfalign
Specifies stack alignment for functions.