SA0063: Possibly not 16-bit-compatible operations

Function

Determines 16-bit operations with intermediate results. Background: On 16-bit systems, 32-bit temporary results can be truncated.

Reason

This message is intended to protect against problems in the very rare case when code is written that is intended to run on both a 16-bit processor and a 32-bit processor.

Importance

Low

Sample:

(nVar+10) can exceed 16 bits.

PROGRAM MAIN
VAR
    nVar  : INT;
END_VAR
nVar := (nVar + 10) / 2;         // => SA0063