Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29004 Discussions

ICE with ifort 16.0 with heap-arrays & openmp

Wolf_W_
New Contributor I
410 Views

Hello,

i stumbled upon an ICE with the Fortran Compiler 16.0.110. The following Code produces the error "fortcom: Fatal: There has been an internal compiler error (C0000005)."

! ifort.exe /nologo /Qopenmp /heap-arrays /module:obj\Release\ /c ICE_OMP_M.f90 /object:obj\Release\ICE_OMP_M.obj
module test_mod

  type :: T_TYPE
    real :: matrix(500,500) ! happens with allocatable, too
  end type T_TYPE

contains

  subroutine calc(this)
    type(T_TYPE), intent(inout) :: this

    integer :: i

    !$omp parallel do
    do i = 2,500
      ! The same happens for minval and maxval (maybe others, too)
      this%matrix(i-1:i,i) = sum(this%matrix(i-1:i,:), dim=2)
    end do
    !$omp end parallel do

  end subroutine calc

end module test_mod

It compiles, if one of the Options /heap-arrays or /Qopenmp is omitted.

This worked well with the 15.x Compiler.

Greetings and thanks,

Wolf

0 Kudos
3 Replies
Kevin_D_Intel
Employee
410 Views

Wolf - Thank you for reporting this internal error and for the convenient reproducer. I reproduced and reported to Development and will keep you informed about a fix.

(Internal tracking id: DPD200376051)

0 Kudos
Wolf_W_
New Contributor I
410 Views

Update:

This fails with Update 5 of Compiler 15, too.
 

0 Kudos
Kevin_D_Intel
Employee
410 Views

Ok, thank you for the update. I'm sorry to see we regressed on the 15.0 branch. I will update the internal id with your latest update.

0 Kudos
Reply