GETFILEINFOQQ in ifort on 64bit

I accounted a problem with the GETFILEINFOQQ of ifort function such as

Lsac2Ssac_SubUse.f90(473): error #6284: There is no matching specific function for this generic function reference.   [GETFILEINFOQQ]
FnameLength=GETFILEINFOQQ(EventListfile,FileInfo,FileHandle)
--------------^

and it was a problem of declaration, the previous code was

type (File$Info) :: FileInfo
integer :: FnameLength, FileHandle
character(len=32) :: LSindexfile
!
FileHandle =file$first
FnameLength=GETFILEINFOQQ(EventListfile,FileInfo,FileHandle)
LSindexfile='LS'//FileInfo.name(3:FnameLength)

And in 64 bit machine, FileHandle should be declared as 8 bit and is suggested be declared as

INTEGER(INT_PTR_KIND())

( ref: Intelо Fortran Compiler User and Reference Guides p.2754 & intel fortran forum post: GETFILEINFOQQ & Documentation of IFPORT::GETFILEINFOQQ )

so it became

type (File$Info) :: FileInfo
integer :: FnameLength
integer(INT_PTR_KIND()) :: FileHandle
character(len=32) :: LSindexfile
!
FileHandle =file$first
FnameLength=GETFILEINFOQQ(EventListfile,FileInfo,FileHandle)
LSindexfile='LS'//FileInfo.name(3:FnameLength)

and it works

相關文章

  1. ifort inquire directory
  2. adjust VELEST in Ubuntu
  3. P2 的網誌分頁錯誤
  4. 使用 AWK 撰寫 Recusive Program
  5. read free format .f90 in vim