------- Comment #8 from janus at gcc dot gnu dot org 2010-01-17 11:59 ------- Here is a reduced test case:
module mod1 type :: t1 contains procedure, nopass :: get => my_get end type contains logical function my_get() end function end module module mod2 contains logical function my_get() ! must have the same name as the function in mod1 end function end module module mod3 contains subroutine sub(a) use mod2, only: my_get use mod1, only: t1 ! order of use statements is important type(t1) :: a ! 'a' must be dummy end subroutine end module use mod2, only: my_get use mod3, only: sub ! order of use statements is important end -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42769