Le firme delle procedure associate a un nome generico (polimorfismo ad-hoc in INTERFACE) non sono mutuamente distinguibili per numero, tipo o rango degli argomenti formali.
GENERIC_INTERFACE_AMBIGUITY
→
Un blocco 'ABSTRACT INTERFACE' definisce un prototipo puramente teorico per puntatori a procedura o metodi polimorfici e non possiede un corpo eseguibile da poter invocare direttamente.
ABSTRACT_INTERFACE_INVOKED
→
Il compilatore non trova il file binario '.mod' generato dal modulo referenziato con 'USE my_module'; accade quando il file contenente il modulo non è stato compilato prima dei sorgenti che lo utilizzano.
CANNOT_OPEN_MOD_FILE
→
Due o più moduli dipendono l'uno dall'altro con istruzioni 'USE' reciproche, rendendo impossibile stabilire un ordine lineare di compilazione; si risolve separando i tipi comuni in un terzo modulo o usando i submodule (F2008).
CIRCULAR_MOD_DEP
→
Una classe che contiene procedure con associazione 'DEFERRED' (metodi virtuali puri non ancora implementati) deve essere dichiarata esplicitamente come 'TYPE, ABSTRACT :: base_t'.
DEFERRED_PROC_NON_ABSTRACT_TYPE
→
Procedure che utilizzano funzionalità Fortran 90+ (array assumed-shape 'A(:)', argomenti OPTIONAL, puntatori o funzioni che restituiscono array) richiedono un'interfaccia esplicita definita in un MODULE o blocco INTERFACE.
EXPLICIT_INTERFACE_REQUIRED
→
Il tentativo di associare un puntatore polimorfico generico 'CLASS(*)' a un tipo derivato specifico fallisce a runtime perché l'oggetto effettivo incapsulato è di un tipo differente.
UNLIMITED_POLYMORPHIC_CAST_FAIL
→
I file '.mod' non sono portabili tra versioni diverse del compilatore (es. gfortran 11 vs 14) o tra compilatori differenti (es. Intel ifort vs GCC gfortran); è necessario ricompilare i moduli con la stessa toolchain.
MOD_VERSION_MISMATCH
→