blob: 959b2cf15e392ebaee6aff31c9bba6109732fb5b [file] [log] [blame]
! { dg-do run }
program main
real, dimension(3,2) :: a
real, dimension(6) :: b
real, dimension(3) :: res1
real, dimension(:), allocatable :: c1, c2,c3
real, dimension(2) :: res2
data a /-2., 3., -5., 7., -11., 13./
data b /17., -23., 29., -31., 37., -41./
data res1 /201., -320., 336./
data res2 /158., -353./
c1 = matmul(a,[29.,37.])
if (size(c1,1) /= 3) STOP 1
if (any(c1/=res1)) STOP 2
c2 = matmul(a,pack(b,[b>20.]))
if (size(c1,1) /= 3) STOP 3
if (any(c1/=res1)) STOP 4
c3 = matmul(pack(b,[b<0.]),a)
if (size(c3,1) /= 2) STOP 5
if (any(c3 /= res2)) STOP 6
end program main