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