The attached piece of valid Fortran90 code generates a symbol error: >gfortran -c moduletest.F90 moduletest.F90:22.19:
USE MyMod3, only: write_MyInt 1 Error: Symbol 'write_myint' referenced at (1) not found in module 'mymod3' > Note that when the line marked with "mark" is commented out the error disappears! This seems a bug to me in gfortran. The code works just fine for the 3 other fortran compilers that I have installed (ifort, pgf90, g95), and also works fine with my previous test version of gfortran (version of 20071024), but the current version 20080103 shows this bug. Best regards, Jos de kloe ----- The following code demonstrates this behaviour: MODULE MyMod1 integer, parameter :: i2_ = Selected_Int_Kind(4) END Module MyMod1 module MyMod2 INTERFACE write_int module procedure write_int_local END INTERFACE contains subroutine write_int_local(value) integer, intent(in) :: value print *,value end subroutine write_int_local end module MyMod2 module MyMod3 USE MyMod2, only: write_MyInt => write_int USE MyMod1, only: i2_ ! mark end module MyMod3 module MyMod4 USE MyMod3, only: write_MyInt !contains ! subroutine MyWrite(a) ! integer, intent(in) :: a ! call write_MyInt(a) ! end subroutine MyWrite end module MYMOD4 -- Summary: module interfacing bug Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kloedej at knmi dot nl http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34672