Well, you can have the dirty as fuck version which works because by exploiting three things:
1) Lite-C can't return structs on the stack
2) An empty return statement doesn't clear any registers
3) Emptry return statements are valid, even for functions returning something
All you have to do is this:
int someTestFunction()
{
return 42;
}
int version1()
{
someTestFunct();
return;
}
void version2()
{
someTestFunct();
return;
}
The idea should be clear, one word of warning though: This is bound to break someday when the compiler gets updated!