1! {  dg-do run }
2! PR41278 internal compiler error related to matmul and transpose
3! Test case prepared by Jerry DeLisle  <jvdelisle@gcc.gnu.org>
4! Original test case by Chris <cmklaij@hetnet.nl>
5program bug
6  implicit none
7  real, dimension(3,3) :: matA,matB,matC
8
9  matA(1,:)=(/1., 2., 3./)
10  matA(2,:)=(/4., 5., 6./)
11  matA(3,:)=(/7., 8., 9./)
12
13  matB=matmul(transpose(0.5*matA),matA)
14  matC = transpose(0.5*matA)
15  matC = matmul(matC, matA)
16  if (any(matB.ne.matC)) call abort()
17end program bug
18