For procedure pointer results without an explicit RESULT statement, error
messages may contain the wrong name (since a hidden result variable named
'ppr@' is added).

Examples:

function f()
  pointer :: f
  interface
    integer function f(x) bind(c)   ! "may not be a C interoperable kind"
      integer :: x
    end function
  end interface
end function

function g()
  interface
    subroutine g()
    end subroutine g
  end interface
  pointer g
  real g   ! "cannot have a type"
end function


On a related note: In the following example the name is right, but the error
message appears twice.

function h()
  interface
    integer function h(x)   ! "is missing the pointer attribute" (twice!)
      integer :: x
    end function
  end interface
end function


-- 
           Summary: ProcPtr function results: wrong name in error message
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: janus at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39695

Reply via email to