! { dg-do run }
module a
 implicit none
interface operator(.op.)
  module procedure sub
end interface
interface operator(.ops.)
  module procedure sub2
end interface

contains
  function sub(i)
    integer :: sub
    integer,intent(in) :: i
    sub = -i
  end function sub
  function sub2(i)
    integer :: sub2
    integer,intent(in) :: i
    sub2 = i
  end function sub2
end module a

program test
use a, only: operator(.op.), operator(.op.), &
operator(.my.)=>operator(.op.),operator(.ops.)=>operator(.op.)
implicit none
if (.my.2 /= -2 .or. .op.3 /= -3 .or. .ops.7 /= -7) call abort()
end

! { dg-final { cleanup-modules "a" } }
