Argumento ficticio complejo a real real de Gfortran

Estoy tratando de usar fftpack con gfortran, pero recibo errores que creo que se relacionan con que algunas rutinas se pasan matrices complejas cuando el argumento ficticio se declara como real.

Leí un comentario en una página de Intel Fortran que se podría desactivar "comprobar la interfaz de rutina". ¿Alguien sabe si hay una opción similar para gfortran?

Me gustaría no tener que editar el fftpack ... (supongo que esto se debe a que el complejo en la memoria está representado por dos reales y los argumentos de la matriz se pasan como referencias, pero corríjanme si estoy equivocado :))

[para elaborar y conocer los comentarios ...] Entonces, después de descargar el dfftpack de netlib y compilarlo como un archivo independiente (f77 presumo) con todas las subrutinas en el mismo archivo, recibo una advertencia, por ejemplo, en

   SUBROUTINE DFFTF (N,R,WSAVE)
   IMPLICIT DOUBLE PRECISION (A-H,O-Z)
   DIMENSION       R(1)       ,WSAVE(1)
   IF (N .EQ. 1) RETURN
   CALL RFFTF1 (N,R,WSAVE,WSAVE(N+1),WSAVE(2*N+1))
   RETURN
   END

la advertencia aparece al llamarCALL RFFTF1 (N,R,WSAVE,WSAVE(N+1),WSAVE(2*N+1)). El comienzo de RFFTF1 se ve así ...

SUBROUTINE RFFTF1 (N,C,CH,WA,IFAC)
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
DIMENSION       CH(*)      ,C(*)       ,WA(*)      ,IFAC(*)

y la advertencia de la compilación golpea el argumento realWSAVE(2*N+1) - al argumento ficticioIFAC: (salida del código :: ventana de registro de compilación de bloques)

 mingw32-gfortran.exe -Jobj\Debug\  -Wall -g     -c
 C:\... \dfftpack.f -o obj\Debug\dfftpack.o
 C:\... \dfftpack.f:345.40:
 CALL RFFTB1 (N,R,WSAVE,WSAVE(N+1),WSAVE(2*N+1))                   
                                   1 Warning: Type mismatch in argument 
'ifac' at (1); passed REAL(8) to INTEGER(4)

Supongo que esto causará un resultado incorrecto ... (el paso de un real a entero parece no convertirse / redondear al entero más cercano, sino a otra cosa. ¿Alguien sabe si debe redondearse en la llamada, como:NINT(WSAVE(2*N+1))?

Respuestas a la pregunta(1)

Su respuesta a la pregunta