| ! { dg-do run } | |
| ! { dg-options "-ffrontend-optimize" } | |
| ! PR 81974 - this used to cause an ICE. | |
| implicit none | |
| COMPLEX(kind=kind(0d0)), DIMENSION(3, 3) :: R | |
| REAL(kind=kind(0d0)), DIMENSION(3, 3) :: M,a,b | |
| complex(8), dimension(3,3) :: res, c | |
| integer :: i, j, k | |
| c = 0 | |
| call random_number(m) | |
| call random_number(a) | |
| call random_number(b) | |
| r = cmplx(a, b, 8) | |
| do k=1,3 | |
| do j=1,3 | |
| do i=1,3 | |
| c(k,j) = c(k,j) + conjg(r(i,k)) * m(i,j) | |
| end do | |
| end do | |
| end do | |
| res = MATMUL(TRANSPOSE(CONJG(R)), M) | |
| if (any(abs(res-c) >= 1e-6)) STOP 1 | |
| c = 0 | |
| do k=1,3 | |
| do j=1,3 | |
| do i=1,3 | |
| c(i,k) = c(i,k) + m(i,j) * conjg(r(k,j)) | |
| end do | |
| end do | |
| end do | |
| res = matmul(m, transpose(conjg(r))) | |
| if (any(abs(res-c) >= 1e-6)) STOP 2 | |
| END |