The export functions are entry points of the 'main subroutine' as follows:
=======================================================
SUBROUTINE XSTUO_INIT(IHELP,IERR)
!+... ******************************************************************
. . . . . .
. . . . . .
. . . . . .
!
!...* export / import statements * ....
!
! Expose this subroutine to users of this DLL
!
!DEC$ ATTRIBUTES DLLEXPORT :: XSTUO_INIT
!DEC$ ATTRIBUTES DLLEXPORT :: XSTPRT_EXEC
!DEC$ ATTRIBUTES DLLEXPORT :: XSTGET_SLIST
!DEC$ ATTRIBUTES DLLEXPORT :: XSTGET_SPROP
!DEC$ ATTRIBUTES DLLEXPORT :: XSTGET_QTPV
!DEC$ ATTRIBUTES DLLEXPORT :: XSTGET_CPKEYS
!DEC$ ATTRIBUTES DLLEXPORT :: XSTGET_CPNAMES
!DEC$ ATTRIBUTES DLLEXPORT :: XSTGET_MW
!DEC$ ATTRIBUTES DLLEXPORT :: XSTGET_SDSIZE
!
!
!
ENTRY XSTPRT_EXEC(IVNAME,IERR)
!+... ******************************************************************
. . . . . . . .
!+... ******************************************************************
By following the dll in debugging execution using VS one can see surprisingly that the initial call to
XSTUO_INIT(IHELP,IERR) enters the dll at XSTGET_QTPV which is the last entry in the source code.
Attached is the image of the VS debugging execution.
链接已复制
Maybe. There might also just be some confusion between the compiler and debugger around how the instruction pointer maps to line numbers. I'd trace the call from the C++ through to the Fortran in disassembled form to just confirm things first.
This is a compiler bug not present in previous version.
By changing each entry into a separate subroutine the problem disappear.
It seems that regression tests on new versions of the compiler are not well performed.
I had checked w/Development and while what Andrew notes is true and that was included in our 16.0 User's guide, there was no change in the treatment of ENTRY, therefore, the change per the Fortran 2008 Standard is not a factor so we need to investigate this further.
Please do provide us with a complete reproducer and report this via our Online Service Center : http://www.intel.com/supporttickets
Thank you
