ICE with DT procedure as argument length on intel64 ifort 11.1 073

ICE with DT procedure as argument length on intel64 ifort 11.1 073

Hello,I am getting an ICE on 64-bit Fedora 11 with ifort 11.1 (073). This is a test case:

MODULE tester IMPLICIT NONE TYPE :: Matrix REAL :: a(2,3) CONTAINS PROCEDURE :: NJ => GetNJ END TYPE Matrix CONTAINS PURE INTEGER FUNCTION GetNJ(mat) RESULT(ans) IMPLICIT NONE CLASS(Matrix), INTENT(IN) :: mat ans = SIZE(mat%a,2) END FUNCTION GetNJ SUBROUTINE MySub(a,x,y) IMPLICIT NONE TYPE(Matrix), INTENT(IN) :: a REAL, INTENT(IN) :: x(GetNJ(a)) ! OK REAL, INTENT(IN) :: y(a%NJ) ! ICE is here !... END SUBROUTINE MySub END MODULE tester 
I'm pretty sure the code is valid, but even if not, there should clearly not be an ICE. This error did not seem to have already been reported, but I easily may have missed it!Thanks,Jared

11 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.

Try removing :: on line 4

TYPE :: Matrix

change to

TYPEMatrix

Jim Dempsey

www.quickthreadprogramming.com

Thanks, I did miss that when I was creating this snippet from my true code (the type is actually extended). However, I still encounter the internal compiler error.

Thank you for reporting this issue, Jared. I will try reproducing this and update again when I know more.

This is also reproducible with newer compilers which is a little surprising sinceit seems like a case we would have seen/fixed already, but apparently not. Thanks again for reporting this and for the nice reproducer. I sent this to Development (see internal tracking # below) and will update as I learn more.

(Internal tracking id: DPD200160165)
(Resolution Update on 10/14/2012): This defect is fixed in the Intel® Fortran Composer XE 2013 Initial Release (2013.0.0.079 - Linux)

Thanks for looking into it!

It's been a while - I had forgotten to check back on this issue. But from what I can tell, this code still has problems with Intel Fortran Composer XE 2011R9 on Win7/64. Was there a fix for this? I haven't found any references to DPD200160165.

It has not been fixed yet. I have asked the developers for status.

Steve Intel Developer Support

This has been fixed for a release later this year.

Steve Intel Developer Support

TYPE :: Matrix is a perfectly valid statement. The '::' is not required in this case, but it is allowed.

The internal error reported in this thread is fixed in our current Intel® Fortran Composer XE 2013 Initial Release (2013.0.0.079 - Linux).

Connectez-vous pour laisser un commentaire.