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

ICE when associated is called for a dummy (function) procedure pointer

Cross__Mat
Beginner
370 Views
I'm using

$ uname -a
Linux stonehenge 3.3.0-4.fc16.x86_64 #1 SMP Tue Mar 20 18:05:40 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

$ ifort -V
Intel Fortran Intel 64 Compiler XE for applications running on Intel 64, Version 12.1 Build 20120212

and have

$ cat pp.f90
[fortran]module m0 abstract interface function f() end function f end interface interface subroutine s(ff) import f procedure(f), pointer, intent(in) :: ff end subroutine s end interface end module m0 use m0, only : f, s procedure(f) :: f2 procedure(f), pointer :: pp pp => f2 call s(pp) end subroutine s(ff) use m0, only : f procedure(f), pointer, intent(in) :: ff procedure(f) :: f2 print *, associated(ff,f2) end subroutine s function f2() end function f2 [/fortran]
which gives

$ ifort pp.f90
pp.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 pp.f90 (code 1)

The file compiles OK if f, ff and f2 are subroutines.
0 Kudos
2 Replies
Steven_L_Intel1
Employee
370 Views
Thanks for the nice test case. I can reproduce this and have escalated it as issue DPD200180573.
0 Kudos
Steven_L_Intel1
Employee
370 Views
This problem has been fixed for a release later this year.
0 Kudos
Reply