! { 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