| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → Stateflow |
| Contents | Index |
| Learn more about Stateflow |
| On this page… |
|---|
How Stateflow Software Inlines Generated Code for State Functions |
By default, Stateflow software uses an internal heuristic to determine whether or not to inline state functions in code generated with Real-Time Workshop software. The heuristic takes into consideration an inlining threshold, so as your code grows and shrinks in size, the generated code for state functions can be unpredictable.
However, if you have rigorous requirements for traceability between generated code and the corresponding state functions, you can override this default behavior. Stateflow software provides a state property Function Inline Option that allows you to explicitly force or prevent inlining of state functions.
If you force inlining for a state, all code generated for its state actions will be inlined into the parent function. The parent function contains code for executing the state actions, outer transitions, and flow graphs. It does not include code for empty state actions.
If you prevent inlining for a state, Real-Time Workshop software generates five static functions, as in this example for state foo:
| Function | Description |
|---|---|
| entry_atomic_foo | Marks foo active and performs entry actions |
| entry_internal_foo | Calls default paths |
| foo | Checks for valid outer transitions and if none, performs during actions |
| exit_atomic_foo | Performs exit actions and marks foo inactive |
| exit_internal_foo | Performs exit actions of the child substates and then exits foo |
To set the function inlining property for a state:
Right-click inside the state and select Properties from the context menu.
The State properties dialog opens.
In the Function Inline Option field, select one of these options:
| Option | Behavior |
|---|---|
| Inline | Forces inlining of state functions into the parent function, as long as the function is not part of a recursion. See What Happens When You Force Inlining. |
| Function | Prevents inlining of state functions. Generates up to five static functions for the state. See What Happens When You Prevent Inlining. |
| Auto | Uses internal heuristics to determine whether or not to inline the state functions. |
Click Apply.
| To... | Set the Function Inline Option property to... |
|---|---|
| Generate a separate function for each action of a state and a separate function for each action of its substates | Function for the state and each substate |
| Generate a separate function for each action of a state, but include code for the associated action of its substates | Function for the state and Inline for each substate |
![]() | Traceability of Stateflow Objects in Real-Time Workshop Generated Code | Debugging and Testing Stateflow Charts | ![]() |

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |