In some remapping case the rank of the pointer is different
from the target one.
program remap type :: p integer :: a end type t type(p), target :: ta(10) = [ (t(i),i=1,10) ] class(t), pointer :: p(:,:) p(1:2,1:5) => ta end
This patch updates the rank and the byte stride to fix such case.