Pre-7.x version of SMC used getState(fsm) in their classContext_EnterStartState(fsm) macros:
#define {class}Context_EnterStartState(fsm) \
if (getState(fsm)->Entry != NULL) { \
getState(fsm)->Entry(fsm); \
}
SMC 7.x uses the ENTRY_STATE macro:
#define ENTRY_STATE(state) \
if ((state)->Entry != NULL) { \
(state)->Entry(fsm); \
}
#define {class}Context_EnterStartState(fsm) \
ENTRY_STATE(getState(fsm))
The ENTRY_STATE macro does not accept a fsm argument and thus can't pass it to the state's Entry function. Building with gcc:
error: 'fsm' undeclared (first use in this function);