program ptr | |
implicit none | |
integer, pointer, dimension(:) :: a, b | |
integer, pointer :: p | |
integer, target :: i | |
allocate (a(1:6)) | |
a = (/ 1, 2, 3, 4, 5, 6 /) | |
b => a | |
if (any (b .ne. (/ 1, 2, 3, 4, 5, 6 /))) call abort | |
b => a(1:6:2) | |
if (any (b .ne. (/ 1, 3, 5/))) call abort | |
p => i | |
i = 42 | |
if (p .ne. 42) call abort | |
p => a(4) | |
if (p .ne. 4) call abort | |
end program |