Compiling the following Fortran90 program with HP Fortran90 V1 and Mips Pro Fortran90 7.20 gives an error : % cat generic.f90 module trygen implicit none real, public :: r public :: subr private :: subr1, subr2 interface subr module procedure subr1, subr2 end interface contains subroutine subr1(proc) interface function proc(intarg) integer :: proc integer, intent(in) :: intarg end function proc end interface r = proc(12) end subroutine subr1 subroutine subr2(proc) interface function proc(realarg) real :: proc real, intent(in) :: realarg end function proc end interface r = proc(14.0) end subroutine subr2 end module trygen program try_gen use trygen interface integer function fi(i) integer :: i end function fi real function fr(r) real :: r end function fr end interface call subr(fi) print *, r call subr(fr) print *, r end program try_gen integer function fi(i) fi = 2 * i end function fi real function fr(r) fr = 3.141596 * r end function fr Using Mips Pro Fortran90 7.20 ============================= %f90 generic.f90 module trygen ^ cf90-855 mfef90: ERROR TRYGEN, File = generic.f90, Line = 1, Column = 8 The compiler has detected errors in module "TRYGEN". No module information file will be created for this module. module procedure subr1, subr2 ^ cf90-487 mfef90: ERROR TRYGEN, File = generic.f90, Line = 7, Column = 30 The specific interfaces for "SUBR2" and "SUBR1" make the GENERIC interface "SUBR" ambiguous. use trygen ^ cf90-894 mfef90: ERROR TRY_GEN, File = generic.f90, Line = 36, Column = 7 Module "TRYGEN" has compile errors, therefore declarations obtained from the module via the USE statement may be incomplete. f90: MIPSpro Fortran 90 Version 7.2 (f19) Tue Sep 22, 1998 15:52:20 f90: 55 source lines f90: 3 Error(s), 0 Warning(s), 0 Other message(s), 0 ANSI(s) Using HP Fortran90 v!.0 ======================= biceps 184: f90 generic.f90 generic.f90 module TRYGEN module subroutine SUBR1 module subroutine SUBR2 program TRY_GEN call subr(fi) ^ Error 260 at (45:generic.f90) : This subroutine has the wrong number of arguments or arguments with the wrong name, type or rank call subr(fr) ^ Error 260 at (47:generic.f90) : This subroutine has the wrong number of arguments or arguments with the wrong name, type or rank external function FI external function FR 2 Errors f90: Errors detected, no link. Is this Fortran90 program non standard conforming ? Thank you -- Christian de Polignac Institut Laue Langevin 156 X 38042 Grenoble Cedex France e-mail : [log in to unmask] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%