Nelle classi e tipi derivati Fortran (F2003+), la procedura associata al tipo (PROCEDURE :: draw) richiede che il primo argomento 'this' sia dichiarato polimorfico con CLASS(t) anziché TYPE(t).
TYPE_BOUND_PROC_MISMATCH
→
Il blocco di dichiarazione 'BLOCK DATA' è riservato esclusivamente all'inizializzazione statica di variabili COMMON e non può contenere alcuna istruzione eseguibile (assegnazioni, loop, chiamate).
BLOCK_DATA_EXECUTABLE_STMT
→
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
→