Visible to Intel only — GUID: GUID-9ECCD2E7-EBFE-44DC-B07D-415DE59F32CA
Visible to Intel only — GUID: GUID-9ECCD2E7-EBFE-44DC-B07D-415DE59F32CA
fomit-frame-pointer
Determines whether EBP is used as a general-purpose register in optimizations.
Syntax
Linux: |
-fomit-frame-pointer -fno-omit-frame-pointer |
Windows: |
None |
Arguments
None
Default
-fomit-frame-pointer |
EBP is used as a general-purpose register in optimizations. However, the default can change depending on the following: If option -O0 or -g is specified, the default is -fno-omit-frame-pointer. |
Description
These options determine whether EBP is used as a general-purpose register in optimizations. Option -fomit-frame-pointer allows this use. Option -fno-omit-frame-pointer disallows it.
Some debuggers expect EBP to be used as a stack frame pointer, and cannot produce a stack backtrace unless this is so. The -fno-omit-frame-pointer option directs the compiler to generate code that maintains and uses EBP as a stack frame pointer for all functions so that a debugger can still produce a stack backtrace without doing the following:
For -fno-omit-frame-pointer: turning off optimizations with -O0
The -fno-omit-frame-pointer option is set when you specify option -O0 or the -g option. The -fomit-frame-pointer option is set when you specify option -O1, -O2, or -O3.
On Linux, there is currently an issue with GCC 3.2 exception handling. Therefore, the compiler ignores this option when GCC 3.2 is installed for C++ and exception handling is turned on (the default).
IDE Equivalent
Eclipse: Optimization > Provide Frame Pointer
Alternate Options
Linux: -fp (this is a deprecated option)
Windows: None