! { dg-do run }
!
! PR fortran/43228
!
integer :: a(3,3)
character(len=100) :: str
namelist /nml/a

a = -1
str = '&nml a(1,:) = 1 2 3 /'
read(str, nml=nml)
if (any (a(1,:) /= [1, 2, 3])) STOP 1
if (any (a([2,3],:) /= -1)) STOP 2

a = -1
str = '&nml a(1,1) = 1 2 3 4 /'
read(str, nml=nml)
if (any (a(:,1) /= [1, 2, 3])) STOP 3
if (any (a(:,2) /= [4, -1, -1])) STOP 4
if (any (a(:,3) /= -1)) STOP 5

str = '&nml a(1,:) = 1 2 3 , &
       &    a(2,:) = 4,5,6 &
       &    a(3,:) = 7 8 9/'
read(str, nml=nml)
if (any (a(1,:) /= [1, 2, 3])) STOP 6
if (any (a(2,:) /= [4, 5, 6])) STOP 7
if (any (a(3,:) /= [7, 8, 9])) STOP 8

!print *, a(:,1)
!print *, a(:,2)
!print *, a(:,3)
end