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
26850 Discussions

variables values in internal subroutines

LRaim
New Contributor I
100 Views

Using Visual Studio Professional 2015 and Compiling with Intel(R) Visual Fortran Compiler 16.0 [Intel(R) 64] variables defined in the main subroutine are not visible in an internal subroutine. Has this problem been fixed ? Attached is a screen shot . This is a severe debugging noise.
I had to zip the jpeg image since its upload was rejected.
Regards

 

 

0 Kudos
1 Solution
Mark_Lewy
New Contributor III
100 Views

My findings with XE 2017 Update 4 (latest released version) and VS 2015 Update 3:

1) A host associated variable which is used in an internal subprogram can be watched from that subprogram.

2) A host associated variable which is not used in an internal subprogram cannot be watched from that subprogram; you have to select the host subprogram in the call stack to watch it.

For example,

program sandbox
    implicit none

    real :: r
    integer :: i

    r = 42
    i = 6
    call x
contains
    subroutine x
        print*, r
    end subroutine x
end program sandbox

If I put a breakpoint on the print statement in subroutine x, only "R" appears in the Locals view.  If I type "i" in a Watch window, "Undefined variable i" is displayed in the Value column.  If I then select sandbox.exe!SANDBOX() Line 24 on the Call Stack the correct value of i (6) is displayed in the Value column.

View solution in original post

1 Reply
Mark_Lewy
New Contributor III
101 Views

My findings with XE 2017 Update 4 (latest released version) and VS 2015 Update 3:

1) A host associated variable which is used in an internal subprogram can be watched from that subprogram.

2) A host associated variable which is not used in an internal subprogram cannot be watched from that subprogram; you have to select the host subprogram in the call stack to watch it.

For example,

program sandbox
    implicit none

    real :: r
    integer :: i

    r = 42
    i = 6
    call x
contains
    subroutine x
        print*, r
    end subroutine x
end program sandbox

If I put a breakpoint on the print statement in subroutine x, only "R" appears in the Locals view.  If I type "i" in a Watch window, "Undefined variable i" is displayed in the Value column.  If I then select sandbox.exe!SANDBOX() Line 24 on the Call Stack the correct value of i (6) is displayed in the Value column.

View solution in original post

Reply