- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The attached code crashes when compiled with ifort 15.0 . The intended output should be (from a gfortran run)
$ ./test
T
1
T
1 2
module m1 implicit none type, abstract :: c_abs end type c_abs type, extends(c_abs) :: t_cnt class(c_abs), allocatable :: f end type t_cnt end module m1 !------------------------ module m2 use m1, only: c_abs, t_cnt implicit none type, extends(c_abs) :: t_a integer, allocatable :: i(:) end type t_a type, extends(c_abs) :: t_b integer :: ndata type(t_cnt), allocatable :: data(:) end type t_b contains pure function get_data(var) result(dat) class(t_b), intent(in) :: var type(t_cnt) :: dat(var%ndata) dat = var%data end function get_data end module m2 !------------------------ program p use m1 use m2 implicit none type(t_b) :: b type(t_cnt), allocatable :: cnt(:) b%ndata = 1 allocate( b%data( b%ndata ) ) allocate( t_a :: b%data(1)%f ) select type( a => b%data(1)%f ) type is(t_a) allocate( a%i(2) ) a%i = (/ 1 , 2 /) end select cnt = get_data( b ) write(*,*) allocated(cnt) write(*,*) size(cnt) write(*,*) allocated( cnt(1)%f ) select type( a => cnt(1)%f ) type is(t_a) write(*,*) a%i end select end program p
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for the report. I will investigate and post again soon.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The crash is reproducible with our 15.x and 14.x compilers; however, the program runs successfully with the upcoming 16.0 compiler in the Parallel Studio XE 2016 release. The program also crashes using the initial 16.0 Beta and runs successfully using the 16.0 Beta Update 1 compiler. As a final test, I used the latest 16.0 development compiler and find the program also runs successfully.
While it appears a fix in the Beta update 1 has led to the correct program behavior, I have been unable to identify any previously reported defect that I could definitely say represented the issue has been fixed.
At this time it appears the issue is fixed in the upcoming 16.0 compiler and we can revisit the investigation if it resurfaces in a future compiler. I’m sorry I could not provide a more definitive resolution for you than this.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OK, thank you.
Marco
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page