- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Trying to make a linked list of an abstract type, the compiler reported
(1) Feature not implement and
(2) catastrophic error: **Internal compiler error: internal abort**.
The second error message suggested that the code be sent in, so here it is.
This used 11.1, 64-bit version on Linux.
badCrash.f90(54): error #5415: Feature not yet implemented: SOURCE=polymorphic_expression
allocate(elem%object,source=obj)
--------------------------------^
badCrash.f90(79): 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.
surface => getNextFromSurfaceListIterator(set)
--------^
compilation aborted for badCrash.f90 (code 3)
If there are ways around these problems, I would love to hear about them.
Thanks
(1) Feature not implement and
(2) catastrophic error: **Internal compiler error: internal abort**.
The second error message suggested that the code be sent in, so here it is.
This used 11.1, 64-bit version on Linux.
[fortran]module badCrash_module implicit none integer, parameter :: dp = selected_real_kind(14) type, public :: surface_type character(12) :: name real(dp), dimension(:), allocatable :: a contains procedure :: displaySurface end type surface_type type, private :: element class (surface_type), allocatable :: object type (element), pointer :: next end type type, public :: surfaceList_type private integer :: number ! total number of objects in the set type (element), pointer :: first ! first object in the list type (element), pointer :: last ! last object in the list type (element), pointer :: getter ! used for the iterator end type contains subroutine displaySurface(this) implicit none class (surface_type), intent(in) :: this write(*,10)this%name,size(this%a) 10 format(1x,'Surface ',A,' with length of a=',I0) end subroutine subroutine initializeSurfaceList(set) type (surfaceList_type), intent(inout) :: set set%number = 0 nullify(set%first) nullify(set%last) nullify(set%getter) end subroutine initializeSurfaceList subroutine addToSurfaceList(set, obj) implicit none type (surfaceList_type), intent(inout) :: set class (surface_type) :: obj type (element), pointer :: elem allocate(elem) ! error #5415: Feature not yet implemented: SOURCE=polymorphic_expression allocate(elem%object,source=obj) nullify(elem%next) if ( set%number > 0 ) then set%last%next => elem set%last => elem set%number = set%number + 1 else set%first => elem set%last => elem set%number = 1 end if end subroutine addToSurfaceList subroutine displaySurfaceList(set) implicit none type (surfaceList_type), intent(inout) :: set class (surface_type), pointer :: surface set%getter => set%first do if(.not. associated(set%getter))exit ! catastrophic error: ! **Internal compiler error: internal abort** Please report this error surface => getNextFromSurfaceListIterator(set) call surface%displaySurface() end do end subroutine displaySurfaceList function getNextFromSurfaceListIterator(set) result (obj) type (surfaceList_type), intent(inout) :: set class (surface_type), pointer :: obj obj => set%getter%object if(associated(set%getter%next))then set%getter => set%getter%next else nullify(set%getter) end if end function getNextFromSurfaceListIterator end module badCrash_module [/fortran]
badCrash.f90(54): error #5415: Feature not yet implemented: SOURCE=polymorphic_expression
allocate(elem%object,source=obj)
--------------------------------^
badCrash.f90(79): 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.
surface => getNextFromSurfaceListIterator(set)
--------^
compilation aborted for badCrash.f90 (code 3)
If there are ways around these problems, I would love to hear about them.
Thanks
Link Copied
0 Replies

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page