Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28384 Discussions

Debugger error for BLOCK / END BLOCK variable.

andrew_4619
Honored Contributor II
432 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 II
432 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?

0 Kudos
Kevin_D_Intel
Employee
432 Views

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

(Internal tracking id: DEBGGR-3091)

0 Kudos
andrew_4619
Honored Contributor II
432 Views

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

0 Kudos
Reply