Argumento complexo real para real de Gfortran

Estou tentando usar o fftpack com o gfortran, mas estou recebendo erros que considero relacionados a que algumas rotinas passam por matrizes complexas quando o argumento fictício é declarado como real.

Li um comentário em uma página da Intel fortran que poderia ser desativado "verificar interface de rotina". Alguém sabe se existe uma opção semelhante para o gfortran?

Gostaria de não precisar editar o fftpack ... (acho que isso ocorre porque o complexo na memória é representado por dois reais e os argumentos do array são passados como referências, mas, por favor, corrija-me se estiver errado :))

[para elaborar e atender aos comentários ...] Então, depois de baixar o dfftpack do netlib e compilar como um arquivo independente (f77 eu pressiono) com todas as sub-rotinas no mesmo arquivo, recebo um aviso, por exemplo, em

   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

o aviso aparece ao chamarCALL RFFTF1 (N,R,WSAVE,WSAVE(N+1),WSAVE(2*N+1)). O início do RFFTF1 fica assim ...

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

e o aviso da compilação atinge o argumento realWSAVE(2*N+1) - para o argumento fictícioIFAC: (saída da janela code :: blocks build log)

 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)

Suponho que isso causará um resultado incorreto .. (a passagem de um real para inteiro parece não converter / arredondar para o número inteiro mais próximo, mas para outra coisa. Alguém sabe se deve ser arredondado na chamada, como:NINT(WSAVE(2*N+1))?

questionAnswers(1)

yourAnswerToTheQuestion