Determina valori di ritorno complessi che non possono essere restituiti con una semplice
copia del registro del processore. Questo include strutture, array e valori di ritorno
di tipo STRING (indipendentemente dalla dimensione della memoria utilizzata).
Giustificazione: Si tratta di un avviso di prestazione. Se vengono restituiti valori
grandi come risultato di una funzione, di un metodo o di una proprietà, il processore
li copia più volte durante l'esecuzione del codice. Questo può portare a problemi
di runtime e dovrebbe essere evitato quando possibile. Le prestazioni possono essere
migliorate passando un valore strutturato come VAR_IN_OUT a una funzione o a un metodo e riempiendolo nella funzione o nel metodo.
Importanza: Medio
Esempio
TYPE LargeStructure : STRUCT a : LINT; b : BOOL; END_STRUCT END_TYPE FUNCTION Large_Return_Value_FUNC : LargeStructure // SA0023 --> SA0023: Complex return values