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