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

ifort 2021.4.0 ICE using coarray components

Michael_S_17
New Contributor I
1,746 Views
! ifort version 2021.4.0
! ifort -coarray -coarray-num-images=5 test.f90 -o a.out

! compile time output:

!010101_13941

!catastrophic error: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report.
!Note: File and line given may not be explicit cause of this error.
!compilation aborted for test.f90 (code 1)

module test
implicit none
private

type, public :: type_a
  integer :: c ! also required to raise the compile time error
end type type_a

type, abstract, public :: test_type
  private
  ! main cause of the compile time error,
  ! exchanging the sequence of these both lines will lead to proper compilation:
  type (type_a), public :: x
  integer, public, codimension[:], dimension (:,:), allocatable :: coarray_component
contains
  private
end type test_type

contains

subroutine z (this)
  class (test_type), intent (inout) :: this
  integer :: image_number
  integer :: array_index
  integer, allocatable, dimension(:) :: integer_array
  ! also required to raise the compile time error:
  this % coarray_component(:,array_index) [image_number] = integer_array
end subroutine z
end module test


program main
end program main
0 Kudos
1 Solution
Barbara_P_Intel
Employee
1,686 Views

Thank you for reporting this issue. I forwarded the information to the Fortran compiler team with a bug id of CMPLRIL0-34375. I'll let you know when the fix is available.



View solution in original post

4 Replies
Michael_S_17
New Contributor I
1,733 Views

The ICE occurs only with multi-dimensional (more than 1 dimension) coarray components.

0 Kudos
Michael_S_17
New Contributor I
1,721 Views

And also important, the ICE occurs only if the multi-dimensional coarray component is NOT at the top of other components. If the coarray component is at the top, ifort has no problems with it, even with much more sophisticated coarray codes.

0 Kudos
Barbara_P_Intel
Employee
1,687 Views

Thank you for reporting this issue. I forwarded the information to the Fortran compiler team with a bug id of CMPLRIL0-34375. I'll let you know when the fix is available.



Barbara_P_Intel
Employee
1,398 Views

The ICE you reported using coarrays is fixed in the compiler that was recently released, ifort 2021.6.0. It's part of oneAPI 2022.2 in the HPC Toolkit. Check it out!



Reply