33 lines
634 B
Fortran
33 lines
634 B
Fortran
! { dg-do run }
|
|
! PR 20074: This used to segfault at runtime.
|
|
! Test case contributed by "Alfredo Buttari" <pitagoras@tin.it>
|
|
|
|
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
|