SA0060: Zero used as invalid operand

Function

Determines operations in which an operand with value 0 results in an invalid or meaningless operation.

Reason

Such an expression may indicate a programming error. In any case, it causes unnecessary runtime.

Importance

Medium

Samples:

PROGRAM MAIN
VAR
    nBYTE   : BYTE;
    nWORD   : WORD;
    nDWORD  : DWORD;
    nLWORD  : LWORD;
END_VAR
nBYTE  := nBYTE  + 0;            // => SA0060
nWORD  := nWORD  - WORD#0;       // => SA0060
nDWORD := nDWORD * DWORD#0;      // => SA0060
nLWORD := nLWORD / 0;            // Compile error: Division by zero