Example: print *, dcos(1.0) print *, dcos(1d0) gfortran treats them as it does with "cos()": Any kind of REAL is accepted. However, DCOS is a specific name of COS which only accepts REAL(8).
The bug should be fixed such that the following works as well: PROCEDURE(DCOS):: my1 PROCEDURE(COS) :: my2 "MY1" is a function with the interface: interface double precision function my1(x) double precision, intent(in) :: x end function my1 end interface (Note especially also the intent(in) and the dummy argument "x".) "MY1" takes the interface from the specific name of COS: Only REAL(4) is accepted. -- Summary: Type checking absent for specific names of INTRINSIC functions Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: accepts-invalid Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33162