! RUN: %S/test_errors.sh %s %t %flang_fc1

! Check distinguishability for specific procedures of defined operators and
! assignment. These are different from names because there a normal generic
! is invoked the same way as a type-bound generic.
! E.g. for a generic name like 'foo', the generic name is invoked as 'foo(x, y)'
! while the type-bound generic is invoked as 'x%foo(y)'.
! But for 'operator(.foo.)', it is 'x .foo. y' in either case.
! So to check the specifics of 'operator(.foo.)' we have to consider all
! definitions of it visible in the current scope.

! One operator(.foo.) comes from interface-stmt, the other is type-bound.
module m1
  type :: t1
  contains
    procedure, pass :: p => s1
    generic :: operator(.foo.) => p
  end type
  type :: t2
  end type
  !ERROR: Generic 'OPERATOR(.foo.)' may not have specific procedures 's2' and 't1%p' as their interfaces are not distinguishable
  interface operator(.foo.)
    procedure :: s2
  end interface
contains
  integer function s1(x1, x2)
    class(t1), intent(in) :: x1
    class(t2), intent(in) :: x2
  end
  integer function s2(x1, x2)
    class(t1), intent(in) :: x1
    class(t2), intent(in) :: x2
  end
end module

! assignment(=) as type-bound generic in each type
module m2
  type :: t1
    integer :: n
  contains
    procedure, pass(x1) :: p1 => s1
    !ERROR: Generic 'assignment(=)' may not have specific procedures 't1%p1' and 't2%p2' as their interfaces are not distinguishable
    generic :: assignment(=) => p1
  end type
  type :: t2
    integer :: n
  contains
    procedure, pass(x2) :: p2 => s2
    generic :: assignment(=) => p2
  end type
contains
  subroutine s1(x1, x2)
    class(t1), intent(out) :: x1
    class(t2), intent(in) :: x2
    x1%n = x2%n + 1
  end subroutine
  subroutine s2(x1, x2)
    class(t1), intent(out) :: x1
    class(t2), intent(in) :: x2
    x1%n = x2%n + 2
  end subroutine
end module
