2 !{ dg-options -std=gnu }
3 ! Tests namelist read when more data is provided then specified by
4 ! array qualifier in list.
5 ! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>.
10 character*(8) names(nd
,nd
)
11 character*(8) names2(nd
,nd
)
12 character*(8) names3(nd
,nd
)
13 namelist / mynml
/ names
, names2
, names3
14 open(unit
=20,status
='scratch', delim
='apostrophe')
15 write (20, '(a)') "&MYNML"
16 write (20, '(a)') "NAMES = 25*'0'"
17 write (20, '(a)') "NAMES2 = 25*'0'"
18 write (20, '(a)') "NAMES3 = 25*'0'"
19 write (20, '(a)') "NAMES(2,2) = 'frogger'"
20 write (20, '(a)') "NAMES(1,1) = 'E123' 'E456' 'D789' 'P135' 'P246'"
21 write (20, '(a)') "NAMES2(1:5:2,2) = 'abcde' 'fghij' 'klmno'"
22 write (20, '(a)') "NAMES3 = 'E123' 'E456' 'D789' 'P135' 'P246' '0' 'frogger'"
25 read(20,nml
=mynml
, iostat
=ier
)
26 if (ier
.ne
.0) call abort()
27 if (any(names(:,3:5).ne
."0")) call abort()
28 if (names(2,2).ne
."frogger") call abort()
29 if (names(1,1).ne
."E123") call abort()
30 if (names(2,1).ne
."E456") call abort()
31 if (names(3,1).ne
."D789") call abort()
32 if (names(4,1).ne
."P135") call abort()
33 if (names(5,1).ne
."P246") call abort()
34 if (any(names2(:,1).ne
."0")) call abort()
35 if (any(names2(:,3:5).ne
."0")) call abort()
36 if (names2(1,2).ne
."abcde") call abort()
37 if (names2(2,2).ne
."0") call abort()
38 if (names2(3,2).ne
."fghij") call abort()
39 if (names2(4,2).ne
."0") call abort()
40 if (names2(5,2).ne
."klmno") call abort()
41 if (any(names3
.ne
.names
)) call abort()