# momit-leaf-frame-pointer

Determines whether the frame pointer is omitted or kept in leaf functions.

## Syntax

Linux: | -momit-leaf-frame-pointer -mno-omit-leaf-frame-pointer

macOS: | -momit-leaf-frame-pointer -mno-omit-leaf-frame-pointer

Windows: | None

## Arguments

None

## Default

Varies | If you specify option -fomit-frame-pointer (or it is set by default), the default is -momit-leaf-frame-pointer. If you specify option -fno-omit-frame-pointer, the default is -mno-omit-leaf-frame-pointer.

## Description

This option determines whether the frame pointer is omitted or kept in leaf functions. It is related to option -f[no-]omit-frame-pointer and the setting for that option has an effect on this option.

Consider the following option combinations:

Option Combination | Result
--- | ---
-fomit-frame-pointer -momit-leaf-frame-pointer or -fomit-frame-pointer -mno-omit-leaf-frame-pointer | Both combinations are the same as specifying -fomit-frame-pointer. Frame pointers are omitted for all routines.
-fno-omit-frame-pointer -momit-leaf-frame-pointer | In this case, the frame pointer is omitted for leaf routines, but other routines will keep the frame pointer. This is the intended effect of option -momit-leaf-frame-pointer.
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer | In this case, -mno-omit-leaf-frame-pointer is ignored since -fno-omit-frame-pointer retains frame pointers in all routines . This combination is the same as specifying -fno-omit-frame-pointer.

This option is provided for compatibility with gcc.

### Note

This option only applies to host compilation. When offloading is enabled, it does not impact device-specific compilation. Offloading can only be enabled when using ifx.

## IDE Equivalent

None

## Alternate Options

None

Parent topic: Code Generation Options

## See Also

fomit-frame-pointer, Oy compiler option