1 ! RUN: %python %S/test_errors.py %s %flang_fc1
2 character(kind
=1,len
=50) internal_file
3 character(kind
=2,len
=50) internal_file2
4 character(kind
=4,len
=50) internal_file4
5 character(kind
=1,len
=50) internal_fileA(20)
6 character(kind
=1,len
=111) msg
9 character, parameter :: const_internal_file
= "(I6)"
10 character, parameter :: const_cvar
*(*) = "Ceci n'est pas une pipe."
15 integer, parameter :: junit
= 11, const_size
= 13, const_int
= 15
18 namelist /mmm
/ mm1
, mm2
19 namelist /nnn
/ nn1
, nn2
33 read(*, fmt
='(I4)') jj
34 read(fmt
='(I4)', unit
=*) jj
37 read(10, *) jj
, cvar
, cvar(7:17)
38 read(internal_file
, *) jj
39 read(internal_fileA(3), *) jj
40 read(internal_fileA(4:9), *) jj
42 read(internal_file
, nnn
)
43 read(internal_file
, nml
=nnn
)
44 read(const_internal_file
, *)
45 read(fmt
=*, unit
=internal_file
)
46 read(nml
=nnn
, unit
=internal_file
)
49 read(10, asynchronous
='no') jj
50 read(10, asynchronous
='yes') jj
51 read(10, eor
=9, advance
='no', fmt
='(I4)') jj
52 read(10, eor
=9, advance
='no', fmt
='(I4)') jj
53 read(10, asynchronous
='yes', id
=id
) jj
54 read(10, '(I4)', advance
='no', asynchronous
='yes', blank
='null', &
55 decimal
='comma', end=9, eor
=9, err
=9, id
=id
, iomsg
=msg
, iostat
=stat2
, &
56 pad
='no', round
='processor_defined', size
=kk
) jj
58 read(internal_file2
, *) jj
59 read(internal_file4
, *) jj
61 !This is a valid statement but it's not what it looks like; "(internal-file)"
62 !must be parsed as a format expression, not as an internal unit.
63 read(internal_file
) jj
65 !ERROR: If UNIT=internal-file appears, FMT or NML must also appear
66 read(internal_file
, iostat
=stat1
) jj
68 !ERROR: Internal file must not have a vector subscript
69 read(internal_fileA(vv
), *) jj
71 !ERROR: Input variable 'const_int' is not definable
72 !BECAUSE: '15_4' is not a variable or pointer
75 !ERROR: SIZE variable 'const_size' is not definable
76 !BECAUSE: '13_4' is not a variable or pointer
77 read(11, pos
=ipos
, size
=const_size
, end=9)
79 !ERROR: Input variable 'const_cvar' is not definable
80 !BECAUSE: '"Ceci n'est pas une pipe."' is not a variable or pointer
81 read(11, *) const_cvar
83 !ERROR: Input variable 'const_cvar(3:13)' is not definable
84 !BECAUSE: '"ci n'est pa"' is not a variable or pointer
85 read(11, *) const_cvar(3:13)
87 !ERROR: Duplicate IOSTAT specifier
88 read(11, pos
=ipos
, iostat
=stat1
, iostat
=stat2
)
90 !ERROR: Duplicate END specifier
91 read(11, end=9, pos
=ipos
, end=9)
93 !ERROR: Duplicate NML specifier
94 read(10, nml
=mmm
, nml
=nnn
)
96 !ERROR: READ statement must have a UNIT specifier
97 read(err
=9, iostat
=stat8
) jj
99 !ERROR: READ statement must not have a DELIM specifier
100 !ERROR: READ statement must not have a SIGN specifier
101 read(10, delim
='quote', sign
='plus') jj
103 !ERROR: If NML appears, REC must not appear
104 read(10, nnn
, rec
=nn
)
106 !ERROR: If NML appears, FMT must not appear
107 !ERROR: If NML appears, a data list must not appear
108 read(10, fmt
=*, nml
=nnn
) jj
110 !ERROR: If UNIT=* appears, REC must not appear
113 !ERROR: If UNIT=* appears, POS must not appear
116 !ERROR: If UNIT=internal-file appears, FMT or NML must also appear
117 !ERROR: If UNIT=internal-file appears, REC must not appear
118 read(internal_file
, rec
=13)
120 !ERROR: If UNIT=internal-file appears, POS must not appear
121 read(internal_file
, *, pos
=13)
123 !ERROR: If REC appears, END must not appear
124 read(10, fmt
='(I4)', end=9, rec
=13) jj
126 !ERROR: If REC appears, FMT=* must not appear
127 read(10, *, rec
=13) jj
129 !ERROR: If ADVANCE appears, UNIT=internal-file must not appear
130 read(internal_file
, '(I4)', eor
=9, advance
='no') jj
132 !ERROR: If ADVANCE appears, an explicit format must also appear
133 !ERROR: If EOR appears, ADVANCE with value 'NO' must also appear
134 read(10, eor
=9, advance
='yes')
136 !ERROR: If EOR appears, ADVANCE with value 'NO' must also appear
139 !ERROR: Invalid ASYNCHRONOUS value 'nay'
140 read(10, asynchronous
='nay') ! prog req
142 !ERROR: If ASYNCHRONOUS='YES' appears, UNIT=number must also appear
143 read(*, asynchronous
='yes')
145 !ERROR: If ASYNCHRONOUS='YES' appears, UNIT=number must also appear
146 read(internal_file
, *, asynchronous
='y'//'es')
148 !ERROR: If ID appears, ASYNCHRONOUS='YES' must also appear
151 !ERROR: If ID appears, ASYNCHRONOUS='YES' must also appear
152 read(10, asynchronous
='n'//'o', id
=id
)
154 !ERROR: If POS appears, REC must not appear
155 read(10, pos
=13, rec
=13) jj
157 !ERROR: If DECIMAL appears, FMT or NML must also appear
158 !ERROR: If BLANK appears, FMT or NML must also appear
159 !ERROR: Invalid DECIMAL value 'Punkt'
160 read(10, decimal
='Punkt', blank
='null') jj
162 !ERROR: If ROUND appears, FMT or NML must also appear
163 !ERROR: If PAD appears, FMT or NML must also appear
164 read(10, pad
='no', round
='nearest') jj
166 !PORTABILITY: If NML appears, SIZE should not appear
167 read(10, nml
=nnn
, size
=kk
)
168 !PORTABILITY: If FMT=* appears, SIZE should not appear
169 read(10, *, size
=kk
) jj
171 !ERROR: ID kind (2) is smaller than default INTEGER kind (4)
172 read(10, id
=id2
, asynchronous
='yes') jj
179 integer, intent(in
) :: n
180 integer :: bb(10), vv(10)
189 read(*, *) aa(n
:n
+2,2)
192 !ERROR: Input variable 'n' is not definable
193 !BECAUSE: 'n' is an INTENT(IN) dummy argument
196 !ERROR: Whole assumed-size array 'aa' may not appear here without subscripts