OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [gfortran.dg/] [backspace_9.f] - Diff between revs 302 and 384

Only display areas with differences | Details | Blame | View Log

Rev 302 Rev 384
! { dg-do run }
! { dg-do run }
! { dg-options "-std=legacy" }
! { dg-options "-std=legacy" }
!
!
! PR32235 incorrectly position text file after backspace
! PR32235 incorrectly position text file after backspace
! Test case from PR, prepared by Jerry DeLisle  <jvdelisle@gcc.gnu.org>
! Test case from PR, prepared by Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      program main
      program main
      character*10 a
      character*10 a
      ncards=2
      ncards=2
      input=10
      input=10
      write(10,"(a)") "One"
      write(10,"(a)") "One"
      write(10,"(a)") "Two"
      write(10,"(a)") "Two"
      write(10,"(a)") "Three"
      write(10,"(a)") "Three"
      rewind(10)
      rewind(10)
      read(input,1000)a
      read(input,1000)a
      read(input,1000)a
      read(input,1000)a
 
 
      call inlist(ncards)
      call inlist(ncards)
 
 
      read(input,1000)a
      read(input,1000)a
      if (a.ne."Three") call abort
      if (a.ne."Three") call abort
      close(10,status="delete")
      close(10,status="delete")
      stop
      stop
 1000 format(a10)
 1000 format(a10)
 2000 format('read =',a10)
 2000 format('read =',a10)
      end
      end
 
 
      subroutine inlist(ncards)
      subroutine inlist(ncards)
      character*4 data(20)
      character*4 data(20)
      input=10
      input=10
c
c
      if (ncards.eq.0) go to 20
      if (ncards.eq.0) go to 20
      do 15 i=1,ncards
      do 15 i=1,ncards
      backspace input
      backspace input
   15 continue
   15 continue
c
c
   20 continue
   20 continue
      kard  = 0
      kard  = 0
   30 read(input,1000,end=60)   data
   30 read(input,1000,end=60)   data
   40 kard=kard + 1
   40 kard=kard + 1
   50 continue
   50 continue
      if ((kard .eq. 1) .and. (DATA(1) .ne. "One")) call abort
      if ((kard .eq. 1) .and. (DATA(1) .ne. "One")) call abort
      if ((kard .eq. 2) .and. (DATA(1) .ne. "Two")) call abort
      if ((kard .eq. 2) .and. (DATA(1) .ne. "Two")) call abort
      if ((kard .eq. 3) .and. (DATA(1) .ne. "Thre")) call abort
      if ((kard .eq. 3) .and. (DATA(1) .ne. "Thre")) call abort
 
 
      go to 30
      go to 30
   60 continue
   60 continue
      kard=kard - ncards + 1
      kard=kard - ncards + 1
      do 70   i=1,kard
      do 70   i=1,kard
      backspace input
      backspace input
   70 continue
   70 continue
c
c
      return
      return
c
c
 1000 format (20a4)
 1000 format (20a4)
 2020 format (8x,i15,8x,20a4)
 2020 format (8x,i15,8x,20a4)
c
c
      end
      end
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.