Message "<name>" has a non-void return type but its linkage
"<name>" preserves the return register(s). Standard
linkage will be used.
Description The function or typedef's special linkage specifies
that the register(s) used to return the function
value are to be preserved. This is invalid as the
register can either be preserved, or hold the return
value, but not both.
User Action Modify the #pragma linkage directive to either remove
the register from the preserved list or to specify
another register to hold the return value.