36 lines
907 B
Fortran
36 lines
907 B
Fortran
!{ dg-do run }
|
|
! Tests namelist io for an explicit shape array with negative bounds
|
|
! provided by Paul Thomas - pault@gcc.gnu.org
|
|
|
|
program namelist_20
|
|
integer, dimension (-4:-2) :: x
|
|
integer :: i, ier
|
|
namelist /a/ x
|
|
|
|
open (10, status = "scratch")
|
|
write (10, '(A)') "&a x(-5)=0 /" !-ve index below lbound
|
|
write (10, '(A)') "&a x(-1)=0 /" !-ve index above ubound
|
|
write (10, '(A)') "&a x(1:2)=0 /" !+ve indices
|
|
write (10, '(A)') "&a x(-4:-2)= -4,-3,-2 /" !correct
|
|
write (10, '(A)') " "
|
|
rewind (10)
|
|
|
|
ier=0
|
|
read(10, a, iostat=ier)
|
|
if (ier == 0) call abort ()
|
|
ier=0
|
|
read(10, a, iostat=ier)
|
|
if (ier == 0) call abort ()
|
|
ier=0
|
|
read(10, a, iostat=ier)
|
|
if (ier == 0) call abort ()
|
|
|
|
ier=0
|
|
read(10, a, iostat=ier)
|
|
if (ier /= 0) call abort ()
|
|
do i = -4,-2
|
|
if (x(i) /= i) call abort ()
|
|
end do
|
|
|
|
end program namelist_20
|