SA0118: Initializations not using constants
Function | Determines initializations that do not assign constants. |
Reason | Initializations should be as consistent as possible and should not refer to other variables. In particular, you should avoid function calls during initialization, since this can lead to access to uninitialized data. |
Importance | Medium |
Samples:
Function F_ReturnDWORD:
FUNCTION F_ReturnDWORD : DWORDMAIN program:
PROGRAM MAIN
VAR CONSTANT
c1 : DWORD := 100;
END_VAR
VAR
n1 : DWORD := c1;
n2 : DWORD := F_ReturnDWORD(); // => SA0118
n3 : DWORD := 150;
n4 : DWORD := n3; // => SA0118
END_VAR