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

ICE with ifort 13.0 and procedure pointers

MR
Beginner
401 Views

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

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 13.0.0.079 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
 

0 Kudos
2 Replies
Kevin_D_Intel
Employee
401 Views

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)

0 Kudos
Kevin_D_Intel
Employee
401 Views

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.
 

0 Kudos
Reply