https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118580

--- Comment #3 from federico <federico.perini at gmail dot com> ---
Sorry, I introduced a typo while editing the post. 
Here is a slightly shorter version of the sample: 

```
program complex_eye
  implicit none
  integer, parameter :: k = 2
  integer :: j
  complex, dimension(k,k) :: A, B
  double precision :: eye(k, k), mx, mxB

  eye = 0
  do j = 1,k
    eye(j,j) = 1
  end do
  A   = eye
  B   = A - eye
  mx  = maxval(abs(A-eye))
  mxB = maxval(abs(B))

  if (mx>1.0e-6) then 
     write(*, *) "maxval(abs(A - eye)) = ", mx ! Should be 0, it is 1.0
     write(*, *) "maxval(abs(B))       = ", mxB
     stop 1
  else
     stop 0
  endif    

end program complex_eye
```

Reply via email to