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* OS) 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-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-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.
- fimf-absolute-error, Qimf-absolute-error
Defines the maximum allowable absolute error for math library function results.
- fimf-accuracy-bits, Qimf-accuracy-bits
Defines the relative error for math library function results, including division and square root.
- fimf-arch-consistency, Qimf-arch-consistency
Ensures that the math library functions produce consistent results across different microarchitectural implementations of the same architecture.
- fimf-domain-exclusion, Qimf-domain-exclusion
Indicates the input arguments domain on which math functions must provide correct results.
- fimf-max-error, Qimf-max-error
Defines the maximum allowable relative error for math library function results, including division and square root.
- fimf-precision, Qimf-precision
Lets you specify a level of accuracy (precision) that the compiler should use when determining which math library functions to use.
- 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.
- 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-all
Enables or disables stack overflow security checks including functions.
- fstack-security-check, GS
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.
- GT
Enables fiber-safe thread-local storage of data.
- homeparams
Tells the compiler to store parameters passed in registers to the stack.
- malign-double
Aligns double, long double, and long long types for better performance for systems based on IA-32 architecture.
- 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.
- mregparm
Control the number registers used to pass integer arguments.
- 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.
- pie
Produces a position-independent executable on processors that support it.
- Qsfalign
Specifies stack alignment for functions.