Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Intel Customer Support will be observing the Martin Luther King holiday on Monday, Jan. 17, and will return on Tues. Jan. 18.
For the latest information on Intel’s response to the Log4j/Log4Shell vulnerability, please see Intel-SA-00646

Debugger error for BLOCK / END BLOCK variable.

andrew_4619
Honored Contributor I
186 Views

Consider

Program bloky
    implicit none
    real  ::  t(2)
    t = 1.0
    print *, t
    block
        real :: t((2)
        t = 2.0
    end block
    print *, t
end program

The Fortran works OK but the debugger thinks t is [2.0, 2.0] after the end block. Also if t was not declared outside the block the debugger still things it is valid both before and after the block. ( VS2013 Upd 5, Fortran XE2017 Upd 4)

0 Kudos
3 Replies
andrew_4619
Honored Contributor I
186 Views

Additionally the size of t is redefined by the definition in the block so if it was shorter part if the array is then not accessible to the debugger or if it was longer the debugger is presumably looking at some junk location?

Kevin_D_Intel
Employee
186 Views

I created a complete reproducer and submitted this to our Debugger developers.

(Internal tracking id: DEBGGR-3091)

andrew_4619
Honored Contributor I
186 Views

thanks, I would guess the issues all have the same root cause.

Reply