Skip to main content

IAR Embedded Workbench for Arm 9.70.x

__naked

In this section:
Syntax

See Syntax for object attributes.

Description

This keyword declares a function for which the compiler does not generate code to set up or tear down the function’s frame.

The compiler is severely limited by not having a frame layout, so the body of the declared function body should consist of inline assembler statements. Using extended assembly, parameter references, or mixing C code with inline assembler statements might not work reliably.

Note

It is not possible to call a function declared with the __naked keyword.

Example
__naked void save_process_state(void);
__naked void restore_process_state(void);