Hello,
I believe I've found two problems when compiling this code:
[fortran]MODULE ColorMod IMPLICIT NONE TYPE, ABSTRACT :: EnumVal INTEGER :: val = 0 END TYPE EnumVal TYPE, EXTENDS(EnumVal) :: ColorEnum END TYPE TYPE :: ColorEnumList TYPE(ColorEnum) :: RED = ColorEnum(4) END TYPE ColorEnumList TYPE(ColorEnumList), PARAMETER :: COLORS1 = ColorEnumList() END MODULE ColorMod PROGRAM test USE ColorMod IMPLICIT NONE !TYPE(ColorEnumList), PARAMETER :: COLORS2 = ColorEnumList() ! ICE if uncommented WRITE(*,*) COLORS1%RED%val ! should print "4", not "1" !WRITE(*,*) COLORS2%RED%val ! should print "4" END PROGRAM test[/fortran] There appear to be 2 bugs. The output of the above is incorrect, printing "1" instead of "4". But also, the following ICE occurs if the statements in the program are uncommented:
Compiling with Intel Visual Fortran Compiler XE 12.1.3.300 [IA-32] ...
fortcom: Fatal: There has been an internal compiler error (C0000005).
I'm not sure whether these two problems are related or not. Let me know what you think.
Thanks,
Jared
链接已复制
The issue number for the Internal Compiler Error is DPD200179526.
The issue number for errorcausingbad results is DPD200179518.
I will post an updates I receive on either of these issues to this thread.
Regards,
Annalee
Intel Developer Support