[Bug fortran/82753] New: (PDT) Invalid error for generic interface with different KIND parameter values
pault at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Oct 27 17:56:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82753
Bug ID: 82753
Summary: (PDT) Invalid error for generic interface with
different KIND parameter values
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: pault at gcc dot gnu.org
Target Milestone: ---
As reported by FortranFan on clf:
module m
type :: t(k)
integer, kind :: k = 1
contains
procedure, pass(this) :: p1
procedure, pass(this) :: p2
generic :: p => p1, p2
end type
contains
subroutine p1( this )
class(t(k=1)), intent(inout) :: this
end subroutine
subroutine p2( this )
class(t(k=2)), intent(inout) :: this
end subroutine
end module
generic :: p => p1, p2
1
Error: 'p1' and 'p2' for GENERIC 'p' at (1) are ambiguous
C:\dev\Fortran\temp\sor\m.f90:5:15:
procedure, pass(this) :: p1
1
Error: Argument 'this' of 'p1' with PASS(this) at (1) must be of the
derived-type 't'
C:\dev\Fortran\temp\sor\m.f90:6:15:
procedure, pass(this) :: p2
1
Error: Argument 'this' of 'p2' with PASS(this) at (1) must be of the
derived-type 't'
Process terminated with status 1 (0 minute(s), 0 second(s))
3 error(s), 0 warning(s) (0 minute(s), 0 second(s))
This is clearly incorrect. I am slightly surprised that this is happening,
since it should be the instances that are compared in the interface, but will
investigate asap.
Cheers
Paul
More information about the Gcc-bugs
mailing list