Skip to main content

IAR Embedded Workbench for RH850 3.20.x

Call frame information directives for data blocks

In this section:
Syntax

CFI BLOCK name USING commonblock

CFI ENDBLOCK name

CFI { NOFUNCTION | FUNCTION label }

CFI { INVALID | VALID }

CFI { REMEMBERSTATE | RESTORESTATE }

CFI PICKER

CFI CONDITIONAL label [, label] …

Parameters

commonblock

The name of a previously defined common block.

label

A function label.

name

The name of the block.

Description

These directives allow call frame information to be defined in the assembler source code:

Directive

Description

CFI BLOCK

Starts a data block.

CFI CONDITIONAL

Declares a data block to be a conditional thread.

CFI ENDBLOCK

Ends a data block.

CFI FUNCTION

Declares a function associated with a data block.

CFI INVALID

Starts a range of invalid call frame information.

CFI NOFUNCTION

Declares a data block to not be associated with a function.

CFI PICKER

Declares a data block to be a picker thread. Used by the compiler for keeping track of execution paths when code is shared within or between functions.

CFI REMEMBERSTATE

Remembers the call frame information state.

CFI RESTORESTATE

Restores the saved call frame information state.

CFI VALID

Ends a range of invalid call frame information.

Table 134. Call frame information directives for data blocks 


In addition to these directives, you might also need the call frame information directives for specifying rules, or CFI expressions for resources and CFAs, see Call frame information directives for tracking resources and CFAs.

Example

Examples of using CFI directives

See also

Tracking call frame usage