! { dg-do run } ! { dg-options "-funsigned" } ! Test I/O with Z, O and B descriptors. program main implicit none unsigned(kind=8) :: u,v integer :: i open(10,status="scratch") u = 3u do i=0,63 write (10,'(Z16)') u u = u + u end do rewind 10 u = 3u do i=0,63 read (10,'(Z16)') v if (u /= v) then print *,u,v end if u = u + u end do rewind 10 u = 3u do i=0,63 write (10,'(O22)') u u = u + u end do rewind 10 u = 3u do i=0,63 read (10,'(O22)') v if (u /= v) then print *,u,v end if u = u + u end do rewind 10 u = 3u do i=0,63 write (10,'(B64)') u u = u + u end do rewind 10 u = 3u do i=0,63 read (10,'(B64)') v if (u /= v) then print *,u,v end if u = u + u end do end program main