A Fortran 90 pointer type lets you point to scalar or array types.
TotalView implicitly handles slicing operations that set up a pointer or assumed shape subroutine argument so that indices and values it displays in a Variable Window are the same as in the Fortran code; for example:
integer, dimension(10), target :: ia
integer, dimension(:), pointer :: ip
do i = 1,10
ia(i) = i
end do
ip => ia(10:1:-2)
After diving through the ip pointer, TotalView displays the windows shown in Figure 155:
Figure 155 – Fortran 90 Pointer Value
The address displayed is not that of the array’s base. Since the array’s stride is negative, array elements that follow are at lower absolute addresses. Consequently, the address displayed is that of the array element that has the lowest index. This might not be the first displayed element if you used a slice to display the array with reversed indices.