! { dg-do run } ! PR 20074: This used to segfault at runtime. ! Test case contributed by "Alfredo Buttari" program tryreshape integer,allocatable :: vect1(:),resh1(:,:) integer,pointer :: vect(:),resh(:,:) integer :: vect2(2*4), resh2(2,4) integer :: r, s(2) r=2; nb=4 s(:)=(/r,nb/) allocate(vect(nb*r),vect1(nb*r)) allocate(resh(r,nb),resh1(r,nb)) vect =1 vect1=1 vect2=1 resh2 = reshape(vect2,s) if (resh2(1,1) /= 1.0) call abort resh1 = reshape(vect1,s) if (resh1(1,1) /= 1.0) call abort resh = reshape(vect,s) if (resh(1,1) /= 1.0) call abort end program tryreshape