1 ! { dg-do run } 2 ! { dg-options "-ffrontend-optimize" } 3 ! PR 81974 - this used to cause an ICE. 4 5 implicit none 6 COMPLEX(kind=kind(0d0)), DIMENSION(3, 3) :: R 7 REAL(kind=kind(0d0)), DIMENSION(3, 3) :: M,a,b 8 complex(8), dimension(3,3) :: res, c 9 integer :: i, j, k 10 c = 0 11 call random_number(m) 12 call random_number(a) 13 call random_number(b) 14 r = cmplx(a, b, 8) 15 do k=1,3 16 do j=1,3 17 do i=1,3 18 c(k,j) = c(k,j) + conjg(r(i,k)) * m(i,j) 19 end do 20 end do 21 end do 22 res = MATMUL(TRANSPOSE(CONJG(R)), M) 23 if (any(abs(res-c) >= 1e-6)) STOP 1 24 c = 0 25 do k=1,3 26 do j=1,3 27 do i=1,3 28 c(i,k) = c(i,k) + m(i,j) * conjg(r(k,j)) 29 end do 30 end do 31 end do 32 res = matmul(m, transpose(conjg(r))) 33 if (any(abs(res-c) >= 1e-6)) STOP 2 34 END 35