ICE with procedure ponter and procedure interface

ICE with procedure ponter and procedure interface

Portrait de

I noticed that the attached code gives an intrnal compiler error
when using ifort 13.0 (the same code works with a previous version).

More precisely:

ifort -c ice.f90
ice.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 ice.f90 (code 1)

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

(Version 12.1 Build 20120212 works fine)


module ice
implicit none
public :: i_f, f_p
integer, protected :: n
abstract interface
pure function i_f(x) result(y)
import :: n
implicit none
real, intent(in) :: x
real :: y(n)
end function i_f
end interface
procedure(i_f), pointer :: f_p => null()
end module ice

4 posts / 0 nouveau(x)
Dernière contribution
Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.
Portrait de Steve Lionel (Intel)

Thanks - I have escalated this as issue DPD200240502 and will let you know of any progress.

Portrait de

Steve, OK, thank you.


Portrait de Steve Lionel (Intel)

The internal compiler error is fixed for a release later this year. A workaround would be to remove f_p from the PUBLIC statement and then give f_p the PUBLIC attribute explicitly, but the Update 2 compiler doesn't like that. Update 3 should allow that workaround.


Connectez-vous pour laisser un commentaire.