This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/53328] New: [OOP] Ambiguous check for type-bound GENERIC shall ignore PASSed arguments
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 11 May 2012 21:29:16 +0000
- Subject: [Bug fortran/53328] New: [OOP] Ambiguous check for type-bound GENERIC shall ignore PASSed arguments
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53328
Bug #: 53328
Summary: [OOP] Ambiguous check for type-bound GENERIC shall
ignore PASSed arguments
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Keywords: accepts-invalid, diagnostic
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: burnus@gcc.gnu.org
CC: janus@gcc.gnu.org
Based on a report by Rafik Zurob.
Compile the following module - and then the following:
use m
type(t) :: x
call x%gen(5)
end
Does the call invoke sub1 or sub2?
Obviously, gfortran should ignore the PASSed argument for the generic
resolution of type-bound procedures, when checking for ambiguity.
The following code is invalid but accepted:
module m
type t
contains
procedure, pass(this) :: sub1
procedure, pass(this) :: sub2
generic :: gen => sub1, sub2
end type t
contains
subroutine sub1(x, this)
integer :: i
class(t) :: this
end subroutine sub1
subroutine sub2 (this, y)
integer :: i
class(t) :: this
end subroutine sub2
end module m