! { dg-do run }
! Modified program from http://groups.google.com/group/\
! comp.lang.fortran/browse_frm/thread/423e4392dc965ab7#
!
module myoperator
   contains
      function dadd(arg1,arg2)
         integer ::dadd(2)
         integer, intent(in) :: arg1(2), arg2(2)
         dadd(1)=arg1(1)+arg2(1)
         dadd(2)=arg1(2)+arg2(2)
      end function dadd
end module myoperator

program test_interface

   use myoperator

   implicit none

   interface operator (.myadd.)
      module procedure dadd
   end interface

   integer input1(2), input2(2), mysum(2)

   input1 = (/0,1/)
   input2 = (/3,3/)
   mysum = input1 .myadd. input2
   if (mysum(1) /= 3 .and. mysum(2) /= 4) STOP 1

   call test_sub(input1, input2)

end program test_interface 

subroutine test_sub(input1, input2)

   use myoperator

   implicit none

   interface operator (.myadd.)
      module procedure dadd
   end interface

   integer, intent(in) :: input1(2), input2(2)
   integer mysum(2)

   mysum = input1 .myadd. input2
   if (mysum(1) /= 3 .and. mysum(2) /= 4) STOP 2

end subroutine test_sub 
