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

ICE with merge() and procedure pointer

Harald1
New Contributor II
908 Views

Hello,

all tested versions of ifort up to 2021.7.0 ICE on the following:

program p
  implicit none
  procedure(real), pointer :: a => NULL()
  print *, merge (a, a, .true.)
! call foo (merge(a, a, .true.))
end

I get:

ifort-merge.f90(4): 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 ifort-merge.f90 (code 1)

Thanks,

Harald

 

0 Kudos
1 Solution
Barbara_P_Intel
Employee
852 Views

I just filed a bug report on this, CMPLRIL0-34949. I'll post when a fix is available.



View solution in original post

0 Kudos
3 Replies
Barbara_P_Intel
Employee
853 Views

I just filed a bug report on this, CMPLRIL0-34949. I'll post when a fix is available.



0 Kudos
Barbara_P_Intel
Employee
667 Views

This ICE is fixed for both ifort and ifx. Now you'll see a real error message!

Check out the new versions of the compilers available in oneAPI HPC Toolkit 2023.1. This version was just released this week.



0 Kudos
Harald1
New Contributor II
636 Views

Yes, the ICE is gone.

I was surprised at first by the error message that starts with "catastrophic error: ..." and had to look twice to confirm that it is no longer that catastrophic ....

 

0 Kudos
Reply