------- Comment #6 from rguenth at gcc dot gnu dot org 2009-08-14 21:29 ------- Smaller:
t1.f90 SUBROUTINE mltfftsg ( a, ldax, lday ) INTEGER, PARAMETER :: dbl = SELECTED_REAL_KIND ( 14, 200 ) INTEGER, INTENT ( IN ) :: ldax, lday COMPLEX ( dbl ), INTENT ( INOUT ) :: a ( ldax, lday ) END SUBROUTINE mltfftsg t2.f90 SUBROUTINE S(zin) COMPLEX(8), DIMENSION(3,3,3) :: zin INTEGER :: m,n CALL mltfftsg ( zin, m, n ) END SUBROUTINE COMPLEX(8), DIMENSION(3,3,3) :: zin CALL s(zin) END t3.f90 SUBROUTINE fftsg3d ( n, zout ) INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND ( 14, 200 ) INTEGER, DIMENSION(*), INTENT(IN) :: n COMPLEX(KIND=dp), DIMENSION(*), INTENT(INOUT) :: zout INTEGER :: nx nx = n ( 1 ) CALL mltfftsg ( zout, nx, nx ) END SUBROUTINE fftsg3d -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41069