https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64589
Bug ID: 64589 Summary: Undefined reference to integer 4 with unlimited polymorphism in two modules plus main Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: damian at sourceryinstitute dot org Using unlimited polymorphism appears to generate a linking error due to an unrecognized integer symbol: $cat more-fun-with-unlimited-poly.f90 module ASTG_FormatParser_mod contains subroutine fmt() class(*), pointer :: arg select type (arg) type is (integer) end select end subroutine end module module ASTG_MpiFileHandler_mod contains subroutine makeString(arg1) class(*) :: arg1 end subroutine subroutine getSuffix() use ASTG_FormatParser_mod call makeString(1) end subroutine end module end $gfortran more-fun-with-unlimited-poly.f90 /tmp/cccnDYiT.o: In function `__astg_mpifilehandler_mod_MOD_getsuffix': more-fun-with-unlimited-poly.f90:(.text+0x44): undefined reference to `__vtab_INTEGER_4_.3435' collect2: error: ld returned 1 exit status $gfortran --version | head -1 GNU Fortran (GCC) 5.0.0 20141222 (experimental)