OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gfortran.dg/] [typebound_proc_1.f08] - Blame information for rev 424

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 302 jeremybenn
! { dg-do compile }
2
 
3
! Type-bound procedures
4
! Test that the basic syntax for specific bindings is parsed and resolved.
5
 
6
MODULE othermod
7
  IMPLICIT NONE
8
 
9
CONTAINS
10
 
11
  SUBROUTINE othersub ()
12
    IMPLICIT NONE
13
  END SUBROUTINE othersub
14
 
15
END MODULE othermod
16
 
17
MODULE testmod
18
  USE othermod
19
  IMPLICIT NONE
20
 
21
  TYPE t1
22
    ! Might be empty
23
  CONTAINS
24
    PROCEDURE proc1
25
    PROCEDURE, PASS(me) :: p2 => proc2
26
  END TYPE t1
27
 
28
  TYPE t2
29
    INTEGER :: x
30
  CONTAINS
31
    PRIVATE
32
    PROCEDURE, NOPASS, PRIVATE :: othersub
33
    PROCEDURE,NON_OVERRIDABLE,PUBLIC,PASS :: proc3
34
  END TYPE t2
35
 
36
  TYPE t3
37
  CONTAINS
38
    ! This might be empty for Fortran 2008
39
  END TYPE t3
40
 
41
  TYPE t4
42
  CONTAINS
43
    PRIVATE
44
    ! Empty, too
45
  END TYPE t4
46
 
47
CONTAINS
48
 
49
  SUBROUTINE proc1 (me)
50
    IMPLICIT NONE
51
    CLASS(t1) :: me
52
  END SUBROUTINE proc1
53
 
54
  REAL FUNCTION proc2 (x, me)
55
    IMPLICIT NONE
56
    REAL :: x
57
    CLASS(t1) :: me
58
    proc2 = x / 2
59
  END FUNCTION proc2
60
 
61
  INTEGER FUNCTION proc3 (me)
62
    IMPLICIT NONE
63
    CLASS(t2) :: me
64
    proc3 = 42
65
  END FUNCTION proc3
66
 
67
END MODULE testmod
68
 
69
! { dg-final { cleanup-modules "testmod" } }

powered by: WebSVN 2.1.0

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