------- Comment #62 from jv244 at cam dot ac dot uk 2010-07-24 11:10 ------- a testcase...
> cat bug.f90 SUBROUTINE fft_3d ( fft_type, fft_in_place, fsign, scale, n, zin, zout ) CALL fftsg3d ( fft_in_place, fsign, scale, n, zin, zout ) END SUBROUTINE fft_3d SUBROUTINE fft_1dm ( fft_type, fsign, trans, n, m, zin, zout, scale ) END SUBROUTINE fft_1dm SUBROUTINE fftsg3d ( fft_in_place, fsign, scale, n, zin, zout ) INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND ( 14, 200 ) CALL mltfftsg ( 'N', 'T', zin, nx, ny*nz, xf, ny*nz, nx, nx, & ny*nz, fsign, 1.0_dp ) END SUBROUTINE fftsg3d SUBROUTINE mltfftsg ( transa, transb, a, ldax, lday, b, ldbx, ldby, n, m, isign, scale ) END SUBROUTINE mltfftsg MODULE fft_tools CONTAINS SUBROUTINE fft3d_s ( fsign, n, zin, zout, scale, status, debug ) CALL fft_3d ( fft_type, fft_in_place, sign, norm, n, zin, zoptr ) END SUBROUTINE fft3d_s SUBROUTINE fft3d_ps ( fsign, n, cin, gin, gs_group, rs_group, yzp, & nyzray, bo, scale, status, debug ) CALL fft_1dm ( fft_type, sign, .TRUE., n(3), mx1*my1, pbuf, qbuf, norm ) END SUBROUTINE fft3d_ps END MODULE fft_tools END links with: gfortran-trunk -fno-whole-file bug.f90 fails with: gfortran-trunk -fwhole-file bug.f90 some of the argument mismatches are a result of the reduction, but not all of them, so I guess that is key. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40011