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 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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.

Leave a Comment

Please sign in to add a comment. Not a member? Join today