11.7 Replacing 'return' to 'goto'
---------------------------------
In some situations, when compiling a program, 'return' is replaced to
'goto'. This happens when optimizing for code size for 'return' statements
which are located inside a function and, of course, if the code size for
executing 'return' is larger than the code size for executing 'goto'. For
dynamic functions which are used as macros, this substitution always takes
place. The 'goto' statement goes to the end of the function where the only
exit from the function is located. In dyamic functions used as macros,
'return' at the end of a function is ignored by the compiler.
This removes the last restriction on using dynamic functions as macros.
Now any dynamic function can be used as a macro.
'GOTO' is a shorter equivalent of 'goto'. More compact code can also be
obtained by using 'RETURN" instead of 'return', if there are no more than
128 bytes from where it is used until the end of the function. Attempting
to use it at a greater distance will give an error message. Using 'return'
at less than 128 bytes from the end of the code will cause the compiler to
suggest the use of 'RETURN'.