1! { dg-do compile } 2! Test of the patch for PR30096, in which gfortran incorrectly. 3! compared local with host associated interfaces. 4! 5! Based on contribution by Harald Anlauf <anlauf@gmx.de> 6! 7module module1 8 interface inverse 9 module procedure A, B 10 end interface 11contains 12 function A (X) result (Y) 13 real :: X, Y 14 Y = 1.0 15 end function A 16 function B (X) result (Y) 17 integer :: X, Y 18 Y = 3 19 end function B 20end module module1 21 22module module2 23 interface inverse 24 module procedure C 25 end interface 26contains 27 function C (X) result (Y) 28 real :: X, Y 29 Y = 2.0 30 end function C 31end module module2 32 33program gfcbug48 34 use module1, only : inverse 35 call sub () 36 if (inverse(1.0_4) /= 1.0_4) call abort () 37 if (inverse(1_4) /= 3_4) call abort () 38contains 39 subroutine sub () 40 use module2, only : inverse 41 if (inverse(1.0_4) /= 2.0_4) call abort () 42 if (inverse(1_4) /= 3_4) call abort () 43 end subroutine sub 44end program gfcbug48 45