[ERROR]
A function pointer may have a qualifier that specifies the calling convention and one that specifies the pointer size. For example, consider the following function pointer: int __far (* __far f)(void). The leftmost qualifier specifies the calling convention, while the other qualifier indicates the pointer size. The HC(S)08 backend only accepts far pointers to far functions and near pointers to near functions. Any other combination (e.g. int __far (* __near f)(void)) will result in a compiler error. The compiler also checks the memory model (on banked memory model, all functions are __far by default if not specified otherwise).
int __far (* f)(void); // legal if compiling for banked memory model, illegal for small or tiny.
Do not use near pointers to far functions or far pointers to near functions.