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
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)
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.
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 ....