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
→
I valori letterali forniti all'interno del blocco di inizializzazione DATA non corrispondono al tipo o precisione della variabile (ad esempio una costante letterale stringa per una variabile INTEGER).
DATA_STMT_TYPE_MISMATCH
→
Le etichette numeriche delle istruzioni (usate in FORMAT o salti DO/GOTO) devono essere univoche all'interno della stessa unità di programma; definirne due con lo stesso numero genera errore.
LABEL_ALREADY_DEFINED
→
Nei sorgenti in formato fisso (.f o .for), qualsiasi carattere posizionato oltre la colonna 72 viene ignorato dal compilatore provocando errori sintattici a cascata; si risolve passando a formato libero (.f90) o con il flag '-ffixed-line-length-none'.
LINE_LENGTH_EXCEEDED
→
La clausola PARAMETER richiede che il valore assegnato sia calcolabile a tempo di compilazione tramite espressione costante; l'invocazione di funzioni non costanti genera questo errore.
PARAMETER_INIT_EXPR_REQUIRED
→
Una procedura dichiarata con il qualificatore 'PURE' ha il divieto tassativo di eseguire operazioni di input/output (WRITE, PRINT), allocare variabili con side-effect o alterare COMMON/moduli globali.
PURE_PROCEDURE_SIDE_EFFECT
→
L'accesso a un elemento di un array specifica un numero di indici diverso dal rango (rank) con cui l'array è stato dichiarato (es. accedere a 'A(i)' per una matrice bidimensionale dichiarata 'A(M, N)').
RANK_MISMATCH_ARRAY
→