Update concepts branch to revision 131834
[official-gcc.git] / gcc / testsuite / gfortran.dg / backspace_9.f
blob01713b96752a664ba10787cb9f67a536d7b67125
1 ! { dg-do run { target fd_truncate } }
2 ! PR32235 incorrectly position text file after backspace
3 ! Test case from PR, prepared by Jerry DeLisle <jvdelisle@gcc.gnu.org>
4 program main
5 character*10 a
6 ncards=2
7 input=10
8 write(10,"(a)") "One"
9 write(10,"(a)") "Two"
10 write(10,"(a)") "Three"
11 rewind(10)
12 read(input,1000)a
13 read(input,1000)a
15 call inlist(ncards)
17 read(input,1000)a
18 if (a.ne."Three") call abort
19 close(10,status="delete")
20 stop
21 1000 format(a10)
22 2000 format('read =',a10)
23 end
25 subroutine inlist(ncards)
26 character*4 data(20)
27 input=10
29 if (ncards.eq.0) go to 20
30 do 15 i=1,ncards
31 backspace input
32 15 continue
34 20 continue
35 kard = 0
36 30 read(input,1000,end=60) data
37 40 kard=kard + 1
38 50 continue
39 if ((kard .eq. 1) .and. (DATA(1) .ne. "One")) call abort
40 if ((kard .eq. 2) .and. (DATA(1) .ne. "Two")) call abort
41 if ((kard .eq. 3) .and. (DATA(1) .ne. "Thre")) call abort
43 go to 30
44 60 continue
45 kard=kard - ncards + 1
46 do 70 i=1,kard
47 backspace input
48 70 continue
50 return
52 1000 format (20a4)
53 2020 format (8x,i15,8x,20a4)
55 end