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

ICE with ifort 11.1

jahern
Beginner
654 Views
Hello,

I received this error:

bug.F90(56): 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.
ALLOCATE(FooSubSub :: list(1)%obj)
---^
compilation aborted for bug.F90 (code 3)

This was the code (bug.f90) that generated it:

[plain]MODULE Foos
   IMPLICIT NONE

   TYPE, ABSTRACT :: Foo
   CONTAINS
      PROCEDURE(ReturnInts), DEFERRED :: GetGroupInts
      PROCEDURE(ReturnInts), DEFERRED :: Dummy
   END TYPE Foo
   ABSTRACT INTERFACE
      FUNCTION ReturnInts(item,nums)
         IMPORT :: Foo
         CLASS(Foo), INTENT(IN) :: item
         INTEGER, INTENT(IN) :: nums(:)
         INTEGER :: ReturnInts(SIZE(nums,1))
      END FUNCTION ReturnInts
   END INTERFACE

   TYPE, EXTENDS(Foo) :: FooSub
      INTEGER :: ints(3)
   CONTAINS
      PROCEDURE :: GetGroupInts => GetGroupInts_FooSub
   END TYPE FooSub
   TYPE, EXTENDS(FooSub) :: FooSubSub
      INTEGER :: groups(3)
   CONTAINS
      PROCEDURE :: GetGroupAdj => GetGroupAdj_FooSubSub
   END TYPE FooSubSub
   TYPE Bar
      CLASS(*), ALLOCATABLE :: obj
   END TYPE Bar

CONTAINS

FUNCTION GetGroupInts_FooSub(item,group) RESULT(ints)
   IMPLICIT NONE
   CLASS(FooSub), INTENT(IN) :: item
   INTEGER, INTENT(IN) :: group
   INTEGER :: ints(2)
   ints = item%ints([1,2])
END FUNCTION GetGroupInts_FooSub

FUNCTION GetGroupAdj_FooSubSub(item,group) RESULT(res)
   IMPLICIT NONE
   CLASS(FooSubSub), INTENT(IN) :: item
   INTEGER, INTENT(IN) :: group
   INTEGER :: res
   res = item%groups(group)
END FUNCTION GetGroupAdj_FooSubSub

END MODULE Foos

PROGRAM wrapper
   USE Foos
   IMPLICIT NONE
   TYPE(Bar) :: list(3)
   ALLOCATE(FooSubSub :: list(1)%obj)
END PROGRAM wrapper
[/plain]
There are probably additional syntax errors, but I thought that I should post the crash. I tried paring it down further, but the ICE kept disappearing! For reference, this was on Fedora 11 (x86_64) with ifort11.1 20090511, froml_cprof_p_11.1.038.

Thanks!
Jared

0 Kudos
4 Replies
Steven_L_Intel1
Employee
654 Views
Thanks - I can reproduce this and will send it to the developers. The report ID is DPD200137377.
0 Kudos
jahern
Beginner
654 Views
Thanks - I can reproduce this and will send it to the developers. The report ID is DPD200137377.

Anytime. Also, I have an ICE on the following, much shorter code:

[plain]PROGRAM bug
   IMPLICIT NONE
   TYPE, ABSTRACT :: foo
      INTEGER :: i
   END TYPE foo
   TYPE, EXTENDS(foo) :: bar
      INTEGER :: j
   END TYPE bar
   TYPE wrapper
      CLASS(foo), ALLOCATABLE :: comp
   END TYPE wrapper
   CLASS(wrapper), ALLOCATABLE :: obj
   ALLOCATE(wrapper :: obj)
   ALLOCATE(bar :: obj%comp)
END PROGRAM bug
[/plain]
It might be from the same bug, I don't know. It's probably related though.

Regards,
Jared

0 Kudos
Steven_L_Intel1
Employee
654 Views
The bug reported here is expected to be fixed in Update 4, scheduled for mid-December. The second sample you provided is ok in that version.
0 Kudos
Steven_L_Intel1
Employee
654 Views
The ICE for the original source is fixed in 11.1 Update 4, though the compiler now has other complaints about that code - probably due to its being stripped down.
0 Kudos
Reply