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

Unexpected error 8383

koen_poppe
Beginner
343 Views
! > ifort_beta --version
! ifort_beta (IFORT) 12.1.5 20120612
! Copyright (C) 1985-2012 Intel Corporation. All rights reserved.
!
! > ifort_beta -std03 -free -Tf ifort_error_8383.f03
! ifort_error_8383.f03(23): error #8383: The dummy arguments of an overriding
! and overridden binding that correspond by position must have the same
! characteristics, except for the type of the passed object dummy arguments. [tbp]
! procedure, pass :: tbp => tbp_child
! ---------------------------^
module ifort_error_8383_module
implicit none
type :: parent
integer :: dimens
contains
procedure, pass :: tbp => tbp_parent
end type parent
type, extends( parent ) :: child
contains
procedure, pass :: tbp => tbp_child
end type child
contains
function tbp_parent( self ) result( points )
class(parent), intent( in out ) :: self
real, dimension(self%dimens) :: points
points = 1.0101010*self%dimens
end function tbp_parent
function tbp_child( self ) result( points )
class(child), intent( in out ) :: self
real, dimension(self%dimens) :: points
points = 0.1010101*self%dimens
end function tbp_child
end module ifort_error_8383_module
program ifort_error_8383
use ifort_error_8383_module
implicit none
type(parent) :: p
type(child) :: c
p%dimens = 3
c%dimens = 2
print *, "Parent: ", p%tbp()
print *, "Child : ", c%tbp()
end program ifort_error_8383
Why are the specifications of "points" different? They both refer to the same dimens attribute?
0 Kudos
1 Reply
Steven_L_Intel1
Employee
343 Views
This appears to be an error we have already fixed - the fix will be in a new version planned for a September release. Curiously, when I compile this in 12.1.5 I get a slightly different error, but it amounts to the same thing.
0 Kudos
Reply