1! { dg-do run } 2! Renaming of operators 3module z 4 interface operator(.addfive.) 5 module procedure sub2 6 end interface 7contains 8function sub2(x) 9 integer :: sub 10 integer,intent(in) :: x 11 sub2 = x + 5 12end function sub2 13end module z 14 15module y 16 interface operator(.addfive.) 17 module procedure sub 18 end interface 19contains 20function sub(x) 21 integer :: sub 22 integer,intent(in) :: x 23 sub = x + 15 24end function sub 25end module y 26 27module x 28 interface operator(.addfive.) 29 module procedure sub 30 end interface 31contains 32function sub(x) 33 integer :: sub 34 integer,intent(in) :: x 35 sub = x + 25 36end function sub 37end module x 38 39use x, only : operator(.bar.) => operator(.addfive.) 40use y, operator(.my.) => operator(.addfive.) 41use z 42 integer :: i 43 i = 2 44 if ((.bar. i) /= 2+25) STOP 1 45 if ((.my. i) /= 2+15) STOP 2 46 if ((.addfive. i) /= 2+5) STOP 3 47end 48