The following program should occur an error since the same named entity from different modules cannot be referenced. However, I compiled successfully, and got output "foo".
I think it is wrong behavior. module m_foo contains subroutine foo print *, "foo" end subroutine end module module m_bar interface foo module procedure bar end interface contains subroutine bar print *, "bar" end subroutine end module use m_foo use m_bar call foo end -- Summary: Interface name does not conflict with subroutine name Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: iguchi at coral dot t dot u-tokyo dot ac dot jp http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25135