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

Too restrictive type-bound procedure overriding?

Sergio
Beginner
855 Views

Hi,

I am unexpectedly getting 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"). Here is a minimal example:

[fortran]

module my_module
    implicit none

    type :: Base
        integer :: sz
    contains
        procedure :: next => Base_next
    end type

    type,extends(Base) :: Extended
    contains
        procedure :: next => Extended_next
    end type

contains

    function Base_next(self,vector) result(continue)
        class(Base) :: self
        integer :: vector(self%sz)
        logical :: continue

        continue=.TRUE.
        return
    end function

    function Extended_next(self,vector) result(continue)
        class(Extended) :: self
        integer :: vector(self%sz)
        logical :: continue

        continue=self%Base%next(vector)
        return
    end function

end module
[/fortran]

Replacing self%sz with a constant (e.g. 3) in the declaration [fortran]integer :: vector(self%sz)[/fortran] fixes the problem. Replacing self%sz with self%Base%sz in line 22. This seems to me too restrictive. The code compiles OK with gfortran 4.7, fails to compile with ifort 13.0.1.

Thanks for your help.

0 Kudos
5 Replies
Steven_L_Intel1
Employee
855 Views

Thanks - I agree that this should be allowed. I have escalated it as issue DPD200241573 and will let you know here of any progress.

0 Kudos
Sergio
Beginner
855 Views

Thanks a lot! And also, thanks a lot for your Doctor Fortran blog, I have found some very interesting stuff.

0 Kudos
Sergio
Beginner
855 Views

Any progress on this? The bug is still present in version 14.0.1.

Best regards,

Sergio Losilla

0 Kudos
Steven_L_Intel1
Employee
855 Views

I don't see any progress noted and have pinged the developer.

0 Kudos
Sergio
Beginner
855 Views

Thanks :)

0 Kudos
Reply