PR tree-optimization/86415 - strlen() not folded for substrings within constant arrays
[official-gcc.git] / gcc / testsuite / gfortran.dg / namelist_24.f90
blobec8c888f686be39e56d7e917bd267150abcb6b15
1 !{ dg-do run }
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>.
6 program pr24459
7 implicit none
8 integer nd, ier, i, j
9 parameter ( nd = 5 )
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'"
23 write (20, '(a)') "/"
24 rewind(20)
25 read(20,nml=mynml, iostat=ier)
26 if (ier.ne.0) STOP 1
27 if (any(names(:,3:5).ne."0")) STOP 2
28 if (names(2,2).ne."frogger") STOP 3
29 if (names(1,1).ne."E123") STOP 4
30 if (names(2,1).ne."E456") STOP 5
31 if (names(3,1).ne."D789") STOP 6
32 if (names(4,1).ne."P135") STOP 7
33 if (names(5,1).ne."P246") STOP 8
34 if (any(names2(:,1).ne."0")) STOP 9
35 if (any(names2(:,3:5).ne."0")) STOP 10
36 if (names2(1,2).ne."abcde") STOP 11
37 if (names2(2,2).ne."0") STOP 12
38 if (names2(3,2).ne."fghij") STOP 13
39 if (names2(4,2).ne."0") STOP 14
40 if (names2(5,2).ne."klmno") STOP 15
41 if (any(names3.ne.names)) STOP 16
42 end