view gcc/testsuite/gfortran.dg/typebound_call_27.f90 @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
line wrap: on
line source

! { dg-do compile }
!
! PR fortran/66257
! Check that typebound function calls are accepted as actual argument.
!
MODULE test_class
  IMPLICIT NONE
  PRIVATE
  PUBLIC:: test

  INTEGER, PARAMETER :: dp  = SELECTED_REAL_KIND(15)

  TYPE test
      PRIVATE
      CONTAINS
          PRIVATE
              PROCEDURE, PUBLIC:: E
              PROCEDURE, PUBLIC:: Om
  END TYPE test

CONTAINS

  ELEMENTAL FUNCTION E (self, a)
    IMPLICIT NONE
    CLASS(test), INTENT(IN):: self
    REAL(kind=dp), INTENT(IN):: a
    REAL(kind=dp):: E

    E = a
  END FUNCTION E

  ELEMENTAL FUNCTION Om (self, z)
    IMPLICIT NONE
    CLASS(test), INTENT(IN):: self
    REAL(kind=dp), INTENT(IN):: z
    REAL(kind=dp):: Om

    Om = self%E(self%E(z))
    Om = log10(self%E(z))
  END FUNCTION Om
END MODULE test_class