------- Comment #3 from pault at gcc dot gnu dot org 2006-12-07 18:15 ------- (In reply to comment #2) > I think this is a doublicate of one of symbol ambiguity bugs, which confuse
It is related - the latest version incorrectly gives a warning that the interfaces are ambiguous. > In any case, it works with my current SVN and the (preliminary) patch from > PR 30068 applied. > What is compiled does not work: See below Paul module module1 interface inverse module procedure y end interface contains function y (X) real :: Y, X Y = X end function y end module module1 module module2 interface inverse module procedure y end interface contains function y (X) real :: Y, X Y = 2*X end function y end module module2 program gfcbug48 use module1, only : inverse ! We need this implementation in the main program call sub () print *, inverse(1.0) contains subroutine sub () use module2, only : inverse ! <-- gfortran does handle this properly print *, inverse(1.0) end subroutine sub end program gfcbug48 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30096