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'.