ICE with ifort 13.0 and procedure pointers

ICE with ifort 13.0 and procedure pointers

The attached code produces and ICE with ifort, while compiling smoothly with

ifort -c test.f90
test.f90: catastrophic error: **Internal compiler error: segmentation violation signal raised** 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)

ifort -V
Intel(R) Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version Build 20120731

module mod_a
 implicit none
  integer :: n
  abstract interface
   pure function i_f() result(y)
    import :: n
    implicit none
    real :: y(n)
   end function i_f
  end interface
  procedure(i_f), pointer :: f => null()
end module mod_a

3 帖子 / 0 全新

Thank you for the nice reproducer. It appears the error occurs related to “import n”. The code compiles when “n” is a dummy argument or when “n” is made accessible in the host scope via USE from a separate module but I do not know if either is a viable work around for you or not. I reported this to Development (internal tracing id below) for further analysis and will update once I learn more.

(Internal tracking id: DPD200238143)

(Resolution Update on 11/27/2013): This defect is fixed in the Intel Fortran Composer XE 2013 SP1 Initial Release (2013.1.0.080 - Linux)

Pardon the delayed update. I confirmed this internal error was fixed in the Composer XE 2013 SP1 Initial Release (w/ 14.0 compiler) (2013.1.0.080 - Linux) in September.