- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I get an error when trying to compile the following code:
module mod1
implicit none
private
save
type, public :: t1
real :: a1 = 0
real :: b1 = 0
end type
type, extends(t1), public :: t2
real :: a2 = 0
real :: b2 = 0
end type
type, extends(t2), public :: t3
real :: a3 = 0
real :: b3 = 0
end type
end module mod1
module mod2
use mod1
implicit none
private
save
real, allocatable :: x(:,:,:)
public setting
public printing
public printing2
contains
!--------------------------------------------------------------------------
subroutine setting()
integer :: i, istat
deallocate (x, STAT = istat)
allocate (x(2,2,2))
x = RESHAPE([(REAL(i), i = 1, SIZE(x))], SHAPE(x))
end subroutine
!--------------------------------------------------------------------------
subroutine printing()
if (.NOT. ALLOCATED(x)) return
!***ifort doesn't like this one:
print *, t3(x(1,1,1), x(2,1,1), x(1,2,1), x(2,2,1), x(1,1,2), x(2,1,2))
end subroutine
!--------------------------------------------------------------------------
subroutine printing2()
real :: a1, b1, a2, b2, a3, b3
if (.NOT. ALLOCATED(x)) return
a1 = x(1,1,1)
b1 = x(2,1,1)
a2 = x(1,2,1)
b2 = x(2,2,1)
a3 = x(1,1,2)
b3 = x(2,1,2)
!***but it likes this one:
print *, t3(a1, b1, a2, b2, a3, b3)
end subroutine
end module
use mod2
implicit none
call setting()
call printing()
call printing2()
end
The printing2() subroutine is equivalent to the printing() subroutine, only using scalars instead of array entries, so commenting line 53 makes the error go away.
It seems to me like yet another structure constructor plus arrays bug ---or am I missing something in regards to single inheritance? Or something else?
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This does appear to be a defect with ifort. I reported this to Development (see internal tracking id below). I also found gfortran accepts and produces identical results for both forms.
(Internal tracking id: DPD200255191)
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