- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is a reproducer for the issue, greatly simplified from the full context where the issue was observed. The issue only appears when optimizations (-O1, -O2 or -O3) are enabled.
Command: "ifx -O1 ice001.F90"
Version: 2024.2.0 Build 20240602
Error: "ice001_v7.F90(34): error #5623: **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.
call move_alloc(temp_b, my_b%another_b)
----^"
program ice001
implicit none
type :: A
integer :: x
integer :: y
end type
type, extends(A) :: A2
integer :: z
end type
type :: B
class(A), allocatable :: an_a
type(B), allocatable :: another_b
end type
type(A2), allocatable :: my_a2
type(B), allocatable :: my_b
type(B), allocatable :: temp_b
allocate(my_a2)
my_a2%x = 10
my_a2%y = 20
my_a2%z = 30
allocate(temp_b)
call move_alloc(my_a2, temp_b%an_a)
allocate(my_b)
! The following line results in **Internal compiler: internal abort**
! if compiled with -O1 or -O2 or -O3 but not with -O0
call move_alloc(temp_b, my_b%another_b)
write(*,*) "my_b%another_b%a_comp%x:", my_b%another_b%an_a%x
write(*,*) "my_b%another_b%a_comp%y:", my_b%another_b%an_a%y
select type(out_a => my_b%another_b%an_a)
type is (A2)
write(*,*) "my_b%another_b%a_comp%z:", out_a%z
end select
end program ice001
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Great problem report.
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for your report. This case is now escalated to compiler engineering for a fix.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This one will be fixed in the upcoming 2025.0 ifx release.
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