------- Comment #2 from hjl at lucon dot org 2007-10-03 20:55 ------- It should be:
[EMAIL PROTECTED] pr33646]$ cat bar.f90 module BAR_MODULE implicit none private public create_ interface create_ module procedure create end interface type system_type integer(kind=kind(1)) :: max_memory_used end type contains subroutine create(self) type(system_type) :: self pointer :: self allocate(self) end subroutine end [EMAIL PROTECTED] pr33646]$ cat bar.f90 module BAR_MODULE implicit none private public create_ interface create_ module procedure create end interface type system_type integer(kind=kind(1)) :: max_memory_used end type contains subroutine create(self) type(system_type) :: self pointer :: self allocate(self) end subroutine end [EMAIL PROTECTED] pr33646]$ make gfortran -c bar.f90 gfortran -c foo.f90 foo.f90:7.29: module procedure create 1 Error: Ambiguous interfaces 'create' and 'create' in generic interface 'create_' at (1) foo.f90:7.29: module procedure create 1 Warning: Ambiguous interfaces 'create' and 'create' in generic interface 'create _' at (1) make[1]: *** [foo.o] Error 1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33646