OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gfortran.dg/] [typebound_generic_3.f03] - Blame information for rev 302

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 302 jeremybenn
! { dg-do run }
2
 
3
! Type-bound procedures
4
! Check calls with GENERIC bindings.
5
 
6
MODULE m
7
  IMPLICIT NONE
8
 
9
  TYPE t
10
  CONTAINS
11
    PROCEDURE, NOPASS :: plain_int
12
    PROCEDURE, NOPASS :: plain_real
13
    PROCEDURE, PASS(me) :: passed_intint
14
    PROCEDURE, PASS(me) :: passed_realreal
15
 
16
    GENERIC :: gensub => plain_int, plain_real, passed_intint, passed_realreal
17
  END TYPE t
18
 
19
CONTAINS
20
 
21
  SUBROUTINE plain_int (x)
22
    IMPLICIT NONE
23
    INTEGER :: x
24
    WRITE (*,*) "Plain Integer"
25
  END SUBROUTINE plain_int
26
 
27
  SUBROUTINE plain_real (x)
28
    IMPLICIT NONE
29
    REAL :: x
30
    WRITE (*,*) "Plain Real"
31
  END SUBROUTINE plain_real
32
 
33
  SUBROUTINE passed_intint (me, x, y)
34
    IMPLICIT NONE
35
    CLASS(t) :: me
36
    INTEGER :: x, y
37
    WRITE (*,*) "Passed Integer"
38
  END SUBROUTINE passed_intint
39
 
40
  SUBROUTINE passed_realreal (x, me, y)
41
    IMPLICIT NONE
42
    REAL :: x, y
43
    CLASS(t) :: me
44
    WRITE (*,*) "Passed Real"
45
  END SUBROUTINE passed_realreal
46
 
47
END MODULE m
48
 
49
PROGRAM main
50
  USE m
51
  IMPLICIT NONE
52
 
53
  TYPE(t) :: myobj
54
 
55
  CALL myobj%gensub (5)
56
  CALL myobj%gensub (2.5)
57
  CALL myobj%gensub (5, 5)
58
  CALL myobj%gensub (2.5, 2.5)
59
END PROGRAM main
60
 
61
! { dg-output "Plain Integer(\n|\r\n|\r).*Plain Real(\n|\r\n|\r).*Passed Integer(\n|\r\n|\r).*Passed Real" }
62
! { dg-final { cleanup-modules "m" } }

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.