[Bug fortran/53328] New: [OOP] Ambiguous check for type-bound GENERIC shall ignore PASSed arguments

burnus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri May 11 21:36:00 GMT 2012


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



More information about the Gcc-bugs mailing list