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

ICE with 12.0.5

Alexis_R_
New Contributor I
1,090 Views

test1.f90:[fortran]MODULE MOD_RTP INTEGER, PARAMETER :: LINE_LEN = 128 INTEGER, PARAMETER :: WORD_LEN = 100 TYPE, ABSTRACT, PUBLIC :: RTP CHARACTER(LEN=LINE_LEN) :: HELP CHARACTER(LEN=WORD_LEN) :: KEYWORD CHARACTER(LEN=LINE_LEN) :: DESCRIPTION LOGICAL :: SET_BY_USER = .FALSE. INTEGER :: ORDER = 0 END TYPE TYPE, EXTENDS(RTP), PUBLIC :: RTP_REAL REAL :: DEFAULT_VALUE REAL :: VALUE END TYPE END MODULE MOD_RTP subroutine TEST USE MOD_RTP IMPLICIT NONE TYPE(RTP_REAL) :: FUDGE_FACTOR(DEFAULT_VALUE=0.0,KEYWORD='variable_one',DESCRIPTION='the first variable',HELP='gimme the first variable') end subroutine TEST[/fortran] Fails at compile-time:[bash]$ ifort test1.f90 test1.f90(23): catastrophic error: **Internal compiler error: internal abort** 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 test1.f90 (code 1)[/bash] Edit: reproduced with 12.0.5

0 Kudos
7 Replies
Ron_Green
Moderator
1,090 Views
confirmed in 12.0 Update 5 and the forthcoming Update 6 along with mainline code branch. I'll get a bug report started after seeing if I can trim this down a little more.

ron
0 Kudos
Ron_Green
Moderator
1,090 Views
Issue ID is DPD200172989

As a forewarning, this will not be fixed for at least several months. We missed the code freeze for Update 6.

ron
0 Kudos
Alexis_R_
New Contributor I
1,090 Views
Issue ID is DPD200172989

As a forewarning, this will not be fixed for at least several months. We missed the code freeze for Update 6.

ron

Thanks Ron. Shame about missing the code freeze. Just so I know, did you manage to narrow it down more?

0 Kudos
IDZ_A_Intel
Employee
1,090 Views
just slightly:

INTEGER::ORDER=0

wasn't needed. Everything else seems important. The bug seems to be in initializers in combination with the extended type.

ron
0 Kudos
Ron_Green
Moderator
1,090 Views
oh and I forgot one other note: aside from the internal compiler error, you do realize your syntax is invalid? What you really want is:

TYPE(RTP_REAL) :: FUDGE_FACTOR=RTP_REAL(DEFAULT_VALUE=0.0,KEYWORD='variable_one',&
DESCRIPTION='the first variable',HELP='gimme the first variable',VALUE=0.0)

that is, you need to add "=RTP_REAL" and you need an intializer for VALUE, like VALUE=0.0

the compile thought you were declaring an array with some really odd dimensions with the illegal syntax you were using.

ron

0 Kudos
Alexis_R_
New Contributor I
1,090 Views
Hey Ron,

Thanks a lot. I actually didn't realise I was doing it wrong. I'd just read about component initialisation and thought I'd give it a try. When I saw the ICE, it distracted me from checking the syntax.

Thanks again,
Alexis
0 Kudos
Ron_Green
Moderator
1,090 Views
This bug is fixed in version 13.0, aka "Composer XE 2013" released Sept. 5th. Closing out this bug report, thanks for helping us improve our compiler! ron
0 Kudos
Reply