Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gfortran.dg/read_eof_all.f90 @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 ! { dg-do run } | |
2 ! PR43265 Followup patch for miscellaneous EOF conditions. | |
3 ! Eaxamples from Tobius Burnus | |
4 use iso_fortran_env | |
5 character(len=2) :: str, str2(2) | |
6 integer :: a, b, c, ios | |
7 str = '' | |
8 str2 = '' | |
9 | |
10 open(99,file='test.dat',access='stream',form='unformatted', status='replace') | |
11 write(99) ' ' | |
12 close(99) | |
13 | |
14 open(99,file='test.dat') | |
15 read(99, '(T7,i2)') i | |
16 close(99, status="delete") | |
17 if (i /= 0) call abort | |
18 | |
19 read(str(1:0), '(T7,i1)') i | |
20 if (i /= 0) call abort | |
21 | |
22 read(str,'(i2,/,i2)',end=111) a, b | |
23 call abort !stop 'ERROR: Expected EOF error (1)' | |
24 111 continue | |
25 | |
26 read(str2,'(i2,/,i2)',end=112) a, b | |
27 | |
28 read(str2,'(i2,/,i2,/,i2)',end=113) a, b, c | |
29 call abort !stop 'ERROR: Expected EOF error (2)' | |
30 | |
31 112 call abort !stop 'ERROR: Unexpected EOF (3)' | |
32 | |
33 113 continue | |
34 read(str,'(i2,/,i2)',end=121,pad='no') a, b | |
35 call abort !stop 'ERROR: Expected EOF error (1)' | |
36 121 continue | |
37 | |
38 read(str2(:),'(i2,/,i2)', end=122, pad='no') a, b | |
39 goto 125 | |
40 122 call abort !stop 'ERROR: Expected no EOF error (2)' | |
41 125 continue | |
42 | |
43 read(str2(:),'(i2,/,i2,/,i2)',end=123,pad='no') a, b, c | |
44 call abort !stop 'ERROR: Expected EOF error (3)' | |
45 123 continue | |
46 | |
47 read(str(2:1),'(i2,/,i2)',end=131, pad='no') a, b | |
48 call abort !stop 'ERROR: Expected EOF error (1)' | |
49 131 continue | |
50 | |
51 read(str2(:)(2:1),'(i2,/,i2)',end=132, pad='no') a, b | |
52 call abort !stop 'ERROR: Expected EOF error (2)' | |
53 132 continue | |
54 | |
55 read(str2(:)(2:1),'(i2,/,i2,/,i2)',end=133,pad='no') a, b, c | |
56 call abort !stop 'ERROR: Expected EOF error (3)' | |
57 133 continue | |
58 | |
59 read(str(2:1),'(i2,/,i2)',iostat=ios, pad='no') a, b | |
60 if (ios /= IOSTAT_END) call abort !stop 'ERROR: expected iostat /= 0 (1)' | |
61 | |
62 read(str2(:)(2:1),'(i2,/,i2)',iostat=ios, pad='no') a, b | |
63 if (ios /= IOSTAT_END) call abort !stop 'ERROR: expected iostat /= 0 (2)' | |
64 | |
65 read(str2(:)(2:1),'(i2,/,i2,/,i2)',iostat=ios,pad='no') a, b, c | |
66 if (ios /= IOSTAT_END) call abort !stop 'ERROR: expected iostat /= 0 (2)' | |
67 | |
68 ! print *, "success" | |
69 end | |
70 | |
71 |