When I compile the module listed below I get the following messages:

c.f90:9.28:
    MODULE PROCEDURE cx_cadr, cx_radc
                           1
Error: FUNCTION result cx_cadr can't be of type TYPE(cx) in FUNCTION cx_cadr at
(1)
c.f90:19.18:
END MODULE complex
                 1
Error: Contained function 'master.0.cx_cadr' at (1) has no IMPLICIT type
c.f90:9.37:
    MODULE PROCEDURE cx_cadr, cx_radc
                                    1
Error: Contained function 'cx_radc' at (1) has no IMPLICIT type

MODULE complex
  IMPLICIT NONE
  PRIVATE
  PUBLIC :: cx, OPERATOR(+)
  TYPE cx
    REAL :: imag
  END TYPE cx
  INTERFACE OPERATOR (+)
    MODULE PROCEDURE cx_cadr, cx_radc
  END INTERFACE
  CONTAINS
  FUNCTION cx_cadr(z, r)
  ENTRY cx_radc(r, z)
    TYPE (cx) :: cx_cadr, cx_radc
    TYPE (cx), INTENT(IN) :: z
    REAL, INTENT(IN) :: r
    cx_cadr%imag = z%imag
  END FUNCTION cx_cadr
END MODULE complex


-- 
           Summary: Spurious errors compiling a module with a contained
                    function with an ENTRY
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: michael dot a dot richmond at nasa dot gov


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

Reply via email to