io03.f90
5.08 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
! RUN: %S/test_errors.sh %s %t %f18
character(kind=1,len=50) internal_file
character(kind=2,len=50) internal_file2
character(kind=4,len=50) internal_file4
character(kind=1,len=50) internal_fileA(20)
character(kind=1,len=111) msg
character(20) advance
character(20) :: cvar;
character, parameter :: const_internal_file = "(I6)"
character, parameter :: const_cvar = "Ceci n'est pas une pipe."
integer*1 stat1
integer*2 stat2, id2
integer*8 stat8
integer :: iunit = 10
integer, parameter :: junit = 11, const_size = 13, const_int = 15
integer :: vv(10) = 7
namelist /mmm/ mm1, mm2
namelist /nnn/ nn1, nn2
advance='no'
open(10)
read*
print*, 'Ok'
read(*)
read*, jj
read(*, *) jj
read(unit=*, *) jj
read(*, fmt=*) jj
read(*, '(I4)') jj
read(*, fmt='(I4)') jj
read(fmt='(I4)', unit=*) jj
read(iunit, *) jj
read(junit, *) jj
read(10, *) jj, cvar, cvar(7:17)
read(internal_file, *) jj
read(internal_fileA(3), *) jj
read(internal_fileA(4:9), *) jj
read(10, nnn)
read(internal_file, nnn)
read(internal_file, nml=nnn)
read(const_internal_file, *)
read(fmt=*, unit=internal_file)
read(nml=nnn, unit=internal_file)
read(iunit, nnn)
read(10, nml=nnn)
read(10, asynchronous='no') jj
read(10, asynchronous='yes') jj
read(10, eor=9, advance='no', fmt='(I4)') jj
read(10, eor=9, advance='no', fmt='(I4)') jj
read(10, asynchronous='yes', id=id) jj
read(10, '(I4)', advance='no', asynchronous='yes', blank='null', &
decimal='comma', end=9, eor=9, err=9, id=id, iomsg=msg, iostat=stat2, &
pad='no', round='processor_defined', size=kk) jj
!ERROR: Invalid character kind for an internal file variable
read(internal_file2, *) jj
!ERROR: Invalid character kind for an internal file variable
read(internal_file4, *) jj
!ERROR: Internal file must not have a vector subscript
read(internal_fileA(vv), *) jj
!ERROR: Input variable 'const_int' must be definable
read(11, *) const_int
!ERROR: SIZE variable 'const_size' must be definable
read(11, pos=ipos, size=const_size, end=9)
!ERROR: Input variable 'const_cvar' must be definable
read(11, *) const_cvar
!ERROR: Input variable 'const_cvar' must be definable
read(11, *) const_cvar(3:13)
!ERROR: Duplicate IOSTAT specifier
read(11, pos=ipos, iostat=stat1, iostat=stat2)
!ERROR: Duplicate END specifier
read(11, end=9, pos=ipos, end=9)
!ERROR: Duplicate NML specifier
read(10, nml=mmm, nml=nnn)
!ERROR: READ statement must have a UNIT specifier
read(err=9, iostat=stat8) jj
!ERROR: READ statement must not have a DELIM specifier
!ERROR: READ statement must not have a SIGN specifier
read(10, delim='quote', sign='plus') jj
!ERROR: If NML appears, REC must not appear
read(10, nnn, rec=nn)
!ERROR: If NML appears, FMT must not appear
!ERROR: If NML appears, a data list must not appear
read(10, fmt=*, nml=nnn) jj
!ERROR: If UNIT=* appears, REC must not appear
read(*, rec=13)
!ERROR: If UNIT=* appears, POS must not appear
read(*, pos=13)
!ERROR: If UNIT=internal-file appears, REC must not appear
read(internal_file, rec=13)
!ERROR: If UNIT=internal-file appears, POS must not appear
read(internal_file, pos=13)
!ERROR: If REC appears, END must not appear
read(10, fmt='(I4)', end=9, rec=13) jj
!ERROR: If REC appears, FMT=* must not appear
read(10, *, rec=13) jj
!ERROR: If ADVANCE appears, UNIT=internal-file must not appear
read(internal_file, '(I4)', eor=9, advance='no') jj
!ERROR: If ADVANCE appears, an explicit format must also appear
!ERROR: If EOR appears, ADVANCE with value 'NO' must also appear
read(10, eor=9, advance='yes')
!ERROR: If EOR appears, ADVANCE with value 'NO' must also appear
read(10, eor=9)
!ERROR: Invalid ASYNCHRONOUS value 'nay'
read(10, asynchronous='nay') ! prog req
!ERROR: If ASYNCHRONOUS='YES' appears, UNIT=number must also appear
read(*, asynchronous='yes')
!ERROR: If ASYNCHRONOUS='YES' appears, UNIT=number must also appear
read(internal_file, asynchronous='y'//'es')
!ERROR: If ID appears, ASYNCHRONOUS='YES' must also appear
read(10, id=id)
!ERROR: If ID appears, ASYNCHRONOUS='YES' must also appear
read(10, asynchronous='n'//'o', id=id)
!ERROR: If POS appears, REC must not appear
read(10, pos=13, rec=13) jj
!ERROR: If DECIMAL appears, FMT or NML must also appear
!ERROR: If BLANK appears, FMT or NML must also appear
!ERROR: Invalid DECIMAL value 'Punkt'
read(10, decimal='Punkt', blank='null') jj
!ERROR: If ROUND appears, FMT or NML must also appear
!ERROR: If PAD appears, FMT or NML must also appear
read(10, pad='no', round='nearest') jj
!ERROR: ID kind (2) is smaller than default INTEGER kind (4)
read(10, id=id2, asynchronous='yes') jj
9 continue
end
subroutine s(aa, n)
integer :: aa(5,*)
integer, intent(in) :: n
integer :: bb(10), vv(10)
type tt
real :: x, y, z
end type tt
type(tt) :: qq(20)
vv = 1
read(*, *) aa(n,1)
read(*, *) aa(n:n+2,2)
read(*, *) qq(2:5)%y
!ERROR: Input variable 'n' must be definable
read(*, *) n
!ERROR: Whole assumed size array 'aa' may not be an input item
read(*, *) aa
end