projects
/
platform
/
upstream
/
gcc48.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
e102a97a5755e23989a9052a4cee44866f6a4425
[platform/upstream/gcc48.git]
/
gcc
/
testsuite
/
gfortran.dg
/
der_io_2.f90
1
! { 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