| !{ 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 |