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

ICE with ifx 2024.0

NCarlson
New Contributor I
349 Views

The following example triggers an internal compiler error with ifx 2024.0.0 (but not with any ifort version).

subroutine foo

  use,intrinsic :: iso_c_binding, only: c_funptr, c_f_procpointer

  abstract interface
    real function f(x) bind(c)
      real, value :: x
    end function
  end interface
  procedure(f), pointer :: fptr

contains

  subroutine bar
    type(c_funptr)  :: funptr
    ! code to initialize funptr
    call c_f_procpointer(funptr, fptr)
  end subroutine

end subroutine

$ ifx -c intel-20231122.f90
#0 0x000000000232d5da
[...]
#28 0x00007f25c102a609 __libc_start_main + 137
#29 0x00000000020ab129

intel-20231122.f90: error #5633: **Internal compiler error: segmentation violation signal raised**

1 Reply
Barbara_P_Intel
Employee
274 Views

@NCarlson. thank you for reporting this.

The good news is that your reproducer compiles just fine with an internal build of the next compiler. Look for that in April-ish.

As a workaround, compile that routine with -O0.

 

0 Kudos
Reply