Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
The Intel sign-in experience is changing in February to support enhanced security controls. If you sign in, click here for more information.

ICE with IFX using procedure pointers

mhulsen
Beginner
201 Views

Hi,

The attached file gives an ICE with ifx, version: (IFORT) 2023.0.0 20221201. The output is at the end of this message.

Note, that it is a very much reduced code starting from a large code and maybe it can be reduced even further, but at least it gives the same error message as the large code.

It compiles fine with ifort, gfortran and nagfor.

Martien

 

The output is:

[tfemuser@080a0116f9cd ifx-ice]$ ifx -c ifx-ice.f90 

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1f563ca]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1bef70e]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1c55e52]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1c55e26]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1b69946]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1b6f2d1]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1b73215]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1be1b73]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1be09c3]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1ca3eed]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1ca4500]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1ca6a30]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1ca3eed]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1ca4500]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1ca19c2]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1ca3eed]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1ca104a]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1ca3eed]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1b44bf6]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1b445c9]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1d028ee]

/lib64/libc.so.6(+0x27510)[0x150e660e4510]

/lib64/libc.so.6(__libc_start_main+0x89)[0x150e660e45c9]

/opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/xfortcom[0x1982da9]

 

ifx-ice.f90(75): error #5623: **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.

    call evaluate_scalar_coefficient ( func=coefficients%func1(3)%p )

---------^

compilation aborted for ifx-ice.f90 (code 3)

 

0 Kudos
4 Replies
Ron_Green
Moderator
193 Views

Thanks for finding this and reporting.  I'll open a bug report.

Ron_Green
Moderator
181 Views

Bug ID is CMPLRLLVM-43357


martinmath
Beginner
81 Views

Below is a short reproducer, which is by the look of it, caused by the same bug in ifx, causing an ICE.

 

program proc_pointer

type :: t
   procedure(answer), nopass, pointer :: p
end type t

type(t) :: x

x%p => answer
call foo(x%p)

contains

   function answer() result(x)
      integer :: x
      x = 42
   end function answer

   subroutine foo(a)
      procedure(answer) :: a
      print *,a()
   end subroutine foo

end program proc_pointer
Barbara_P_Intel
Moderator
49 Views

I added the new reproducer to the bug report. Sometimes these bugs are tricky and may not have the same cause. We will see!

Reply