Compare quando si tenta di assegnare o passare variabili CHARACTER di lunghezza fissa incompatibili o quando si usano array di stringhe con lunghezze differenti non conformi.
CHAR_LENGTH_MISMATCH
→
Il blocco di memoria condivisa globale COMMON è dichiarato con layout o numero di variabili differente tra subroutine distinte, rischiando sovrascritture di memoria e corruzione dell'heap.
COMMON_BLOCK_SIZE_MISMATCH
→
Negli standard Fortran moderni (F90/F95/F2003/F2008) ogni argomento formale di una procedura dovrebbe specificare 'INTENT(IN)', 'INTENT(OUT)' o 'INTENT(INOUT)' per garantire sicurezza del codice e consentire ottimizzazioni al compilatore.
MISSING_INTENT_SPEC
→
Le procedure ELEMENTAL possono operare in parallelo elemento per elemento su array, ma la definizione formale di tutti i parametri dummy deve essere rigorosamente scalare.
ELEMENTAL_DUMMY_NOT_SCALAR
→
L'istruzione legacy EQUIVALENCE mappa variabili di tipo o lunghezza eterogenea sullo stesso indirizzo di memoria; ciò viola le regole di aliasing e allineamento hardware dei moderni processori a 64 bit.
EQUIVALENCE_MISALIGNED
→
L'istruzione EXIT o CYCLE specifica il nome di un blocco di ciclo DO che non corrisponde al ciclo corrente o non racchiude l'istruzione, provocando errore di risoluzione del controllo di flusso.
EXIT_CYCLE_NAME_MISMATCH
→
Il compilatore rileva una discrepanza tra il nome dichiarato nell'intestazione SUBROUTINE e l'identificatore fornito nell'istruzione finale END SUBROUTINE o la mancanza della chiusura del blocco.
EXPECTED_END_SUBROUTINE
→
Un array dichiarato come argomento esplicito in una subroutine non può utilizzare variabili ordinarie per specificare i limiti a meno che le dimensioni non siano passate come argomenti formali precedenti.
DUMMY_ARG_EXPLICIT_BOUND
→