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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [gfortran.dg/] [der_io_2.f90] - Blame information for rev 827

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

Line No. Rev Author Line
1 149 jeremybenn
! { dg-do compile }
2
! PR 23843
3
! IO of derived types with private components is allowed in the module itself,
4
! but not elsewhere
5
module gfortran2
6
    type :: tp1
7
        private
8
        integer :: i
9
    end type tp1
10
 
11
    type :: tp1b
12
        integer :: i
13
    end type tp1b
14
 
15
    type :: tp2
16
        real :: a
17
        type(tp1) :: t
18
    end type tp2
19
 
20
contains
21
 
22
    subroutine test()
23
        type(tp1) :: x
24
        type(tp2) :: y
25
 
26
        write (*, *) x
27
        write (*, *) y
28
    end subroutine test
29
 
30
end module gfortran2
31
 
32
program prog
33
 
34
    use gfortran2
35
 
36
    implicit none
37
    type :: tp3
38
        type(tp2) :: t
39
    end type tp3
40
    type :: tp3b
41
        type(tp1b) :: t
42
    end type tp3b
43
 
44
    type(tp1) :: x
45
    type(tp2) :: y
46
    type(tp3) :: z
47
    type(tp3b) :: zb
48
 
49
    write (*, *) x   ! { dg-error "PRIVATE components" }
50
    write (*, *) y   ! { dg-error "PRIVATE components" }
51
    write (*, *) z   ! { dg-error "PRIVATE components" }
52
    write (*, *) zb
53
end program prog
54
 
55
! { dg-final { cleanup-modules "gfortran2" } }

powered by: WebSVN 2.1.0

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