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

Reply via email to