1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
! { dg-do run { target fd_truncate } }
! PR30435 Slash at end of input not recognized according to standard.
! Test case from PR by Steve Kargl.
program t
integer a, b, c, d
! This worked as expected
open(unit=10, file='tmp.dat')
write(10,*) '1 2 3 / 4'
rewind(10)
a = -1; b = -1; c = -1; d = -1;
read(10,*) a,b,c,d
if (d.ne.-1) call abort()
! This worked as expected
rewind(10)
write(10,*) '1 2 3 /'
rewind(10)
a = -2; b = -2; c = -2; d = -2;
read(10,*) a,b,c,d
if (d.ne.-2) call abort()
! This worked as expected.
rewind(10)
write(10,*) '1 2'
write(10,*) '3 /'
rewind(10)
a = -3; b = -3; c = -3; d = -3;
read(10,*) a,b,c,d
if (d.ne.-3) call abort()
! This failed before the patch.
rewind(10)
write(10,*) '1 2 3'
write(10,*) '/'
rewind(10)
a = -4; b = -4; c = -4; d = -4;
read(10,*) a,b,c,d
if (d.ne.-4) call abort()
close(unit=10, status='delete')
end program t
|