blob: 164099d9fbe50147e1c2ceab321d83a3f89b07ca [file] [log] [blame]
! { dg-do run }
! Check the fix for PR28947, in which the mechanism for dealing
! with matmul (a, transpose (b)) would cause wrong results for
! a having a rank == 1.
!
! Contributed by Harald Anlauf <anlauf@gmx.de>
!
program gfcbug40
implicit none
real :: h(3,3), mat(2,3)
h(:,:) = - HUGE (1.0)/4 ! Preset unused elements suitably...
h(3,:) = 0
h(3,3) = 1
mat(:,:) = 1
h(3,:) = h(3,:) + matmul (matmul (h(3,:), transpose (mat)), mat)
if (any (h(3,:) .ne. (/2.0, 2.0, 3.0/))) STOP 1
end program gfcbug40