Hello,
I have encountered following problem, when recompiling "old" fortran 77
code
by NAGWAre f95 -compiler:
Program consist several subprograms but the problem is in:
COMPLEX*16 FUNCTION DZHANK(IKK,IMODE,N,B,FUN,TOL,NF,NEW)
...
IMPLICIT REAL*8 (A-H,O-Z)
COMPLEX*16 FUN,C,CMAX,FSAVE
SAVE Y1,ISAVE
COMMON/SAVE/FSAVE(801),GSAVE(801),NSAVE
DOUBLE PRECISION E,ER,Y1,Y
DOUBLE PRECISION WT0,WT1
DIMENSION T(2),TMAX(2)
! REAL*8 T(2),TMAX(2)
DIMENSION WT0(801),WT1(801)
COMMON/PARA/ID,IK,MODE
EQUIVALENCE (C,T(1)),(CMAX,TMAX(1))
---
compiler says:
[gefmac1:~/develop/em1d_cedar] jlerssi% f95 dzhank.f
Extension: dzhank.f, line 1: Byte count on numeric data type
detected at *@16
Extension: dzhank.f, line 106: Byte count on numeric data type
detected at *@8
Extension: dzhank.f, line 107: Byte count on numeric data type
detected at *@16
[f95 continuing despite warning messages]
Obsolescent: dzhank.f, line 1: Fixed source form
Error: dzhank.f, line 116: EQUIVALENCE of default numeric with
non-default intrinsic type
Error: dzhank.f, line 116: EQUIVALENCE of default numeric with
non-default intrinsic type
Errors in declarations, no further processing for DZHANK
[f95 error termination]
[gefmac1:~/develop/em1d_cedar] jlerssi%
subprogram does complex hankel transform and I am not familiar with
it...
Is there any way to substitute EQUIVALENCE (C,T(1)),(CMAX,TMAX(1))
-statement
with modern fortran (90,95) terms ?
|