1! { dg-do run }
2!
3! PR fortran/43228
4!
5integer :: a(3,3)
6character(len=100) :: str
7namelist /nml/a
8
9a = -1
10str = '&nml a(1,:) = 1 2 3 /'
11read(str, nml=nml)
12if (any (a(1,:) /= [1, 2, 3])) call abort ()
13if (any (a([2,3],:) /= -1)) call abort ()
14
15a = -1
16str = '&nml a(1,1) = 1 2 3 4 /'
17read(str, nml=nml)
18if (any (a(:,1) /= [1, 2, 3])) call abort ()
19if (any (a(:,2) /= [4, -1, -1])) call abort ()
20if (any (a(:,3) /= -1)) call abort ()
21
22str = '&nml a(1,:) = 1 2 3 , &
23       &    a(2,:) = 4,5,6 &
24       &    a(3,:) = 7 8 9/'
25read(str, nml=nml)
26if (any (a(1,:) /= [1, 2, 3])) call abort ()
27if (any (a(2,:) /= [4, 5, 6])) call abort ()
28if (any (a(3,:) /= [7, 8, 9])) call abort ()
29
30!print *, a(:,1)
31!print *, a(:,2)
32!print *, a(:,3)
33end
34
35
36