How to use module from intel Fortran within PVF?

Noticed that PGI src file have no dflogm.f90,which used in intel fortran.And it’s cant easily included for using.
So how to use such modules in intel Fortran include file.

BTW,PVF cant recognize DEC directive freeform/if/else/endif.Should I ignore those warning?

Hi unwannadie,

We include DFLIB, DFPORT, and DFWIN, but not DFLOGM. Unfortunately I know very little about DFLOGM.

PVF cant recognize DEC directive freeform/if/else/endif.Should I ignore those warning?

Ignoring Freeform should be fine (you can set this via the “-Mfree” flag), but the if/else/endif may be problematic given they specify conditional compilation. Can you update these to use Preprocessing Macros ifdef/else/endif instead.

  • Mat

Hi Mat,

PVF also cant recognize DEC directive options/objcomment/ATTRIBUTES optional/default.Will those be problematic?

Such as,error S0188 : Argument number 1 to getmodulehandle: type mismatch


getmodulehandle in “kernel32.f90” is different between IVF and PVF.

in IVF

INTERFACE 
FUNCTION GetModuleHandle( &
        lpModuleName)
import
  integer(HANDLE) :: GetModuleHandle ! HMODULE
!DEC$ ATTRIBUTES DEFAULT, STDCALL, DECORATE, ALIAS:'GetModuleHandleA' :: GetModuleHandle
!DEC$ ATTRIBUTES REFERENCE, IGNORE_LOC, ALLOW_NULL :: lpModuleName
  character*(*) lpModuleName ! LPCSTR lpModuleName
 END FUNCTION
END INTERFACE

in PVF

     INTERFACE
     FUNCTION GetModuleHandle(   &
         lpModuleName)
     USE DFWINTY
         integer(HANDLE) :: GetModuleHandle ! HMODULE
!DEC$ ATTRIBUTES STDCALL, DECORATE, ALIAS : 'GetModuleHandleA' :: GetModuleHandle
!DEC$ ATTRIBUTES REFERENCE :: lpModuleName
         character*(*) lpModuleName ! LPCSTR lpModuleName
     END FUNCTION
     END INTERFACE