URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc3/] [gcc/] [testsuite/] [gfortran.dg/] [typebound_generic_3.f03] - Rev 302
Go to most recent revision | Compare with Previous | Blame | View Log
! { dg-do run }
! Type-bound procedures
! Check calls with GENERIC bindings.
MODULE m
IMPLICIT NONE
TYPE t
CONTAINS
PROCEDURE, NOPASS :: plain_int
PROCEDURE, NOPASS :: plain_real
PROCEDURE, PASS(me) :: passed_intint
PROCEDURE, PASS(me) :: passed_realreal
GENERIC :: gensub => plain_int, plain_real, passed_intint, passed_realreal
END TYPE t
CONTAINS
SUBROUTINE plain_int (x)
IMPLICIT NONE
INTEGER :: x
WRITE (*,*) "Plain Integer"
END SUBROUTINE plain_int
SUBROUTINE plain_real (x)
IMPLICIT NONE
REAL :: x
WRITE (*,*) "Plain Real"
END SUBROUTINE plain_real
SUBROUTINE passed_intint (me, x, y)
IMPLICIT NONE
CLASS(t) :: me
INTEGER :: x, y
WRITE (*,*) "Passed Integer"
END SUBROUTINE passed_intint
SUBROUTINE passed_realreal (x, me, y)
IMPLICIT NONE
REAL :: x, y
CLASS(t) :: me
WRITE (*,*) "Passed Real"
END SUBROUTINE passed_realreal
END MODULE m
PROGRAM main
USE m
IMPLICIT NONE
TYPE(t) :: myobj
CALL myobj%gensub (5)
CALL myobj%gensub (2.5)
CALL myobj%gensub (5, 5)
CALL myobj%gensub (2.5, 2.5)
END PROGRAM main
! { dg-output "Plain Integer(\n|\r\n|\r).*Plain Real(\n|\r\n|\r).*Passed Integer(\n|\r\n|\r).*Passed Real" }
! { dg-final { cleanup-modules "m" } }
Go to most recent revision | Compare with Previous | Blame | View Log