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

Reply via email to