URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 149 |
Rev 154 |
! { dg-do compile }
|
! { dg-do compile }
|
! PR 23843
|
! PR 23843
|
! IO of derived types with private components is allowed in the module itself,
|
! IO of derived types with private components is allowed in the module itself,
|
! but not elsewhere
|
! but not elsewhere
|
module gfortran2
|
module gfortran2
|
type :: tp1
|
type :: tp1
|
private
|
private
|
integer :: i
|
integer :: i
|
end type tp1
|
end type tp1
|
|
|
type :: tp1b
|
type :: tp1b
|
integer :: i
|
integer :: i
|
end type tp1b
|
end type tp1b
|
|
|
type :: tp2
|
type :: tp2
|
real :: a
|
real :: a
|
type(tp1) :: t
|
type(tp1) :: t
|
end type tp2
|
end type tp2
|
|
|
contains
|
contains
|
|
|
subroutine test()
|
subroutine test()
|
type(tp1) :: x
|
type(tp1) :: x
|
type(tp2) :: y
|
type(tp2) :: y
|
|
|
write (*, *) x
|
write (*, *) x
|
write (*, *) y
|
write (*, *) y
|
end subroutine test
|
end subroutine test
|
|
|
end module gfortran2
|
end module gfortran2
|
|
|
program prog
|
program prog
|
|
|
use gfortran2
|
use gfortran2
|
|
|
implicit none
|
implicit none
|
type :: tp3
|
type :: tp3
|
type(tp2) :: t
|
type(tp2) :: t
|
end type tp3
|
end type tp3
|
type :: tp3b
|
type :: tp3b
|
type(tp1b) :: t
|
type(tp1b) :: t
|
end type tp3b
|
end type tp3b
|
|
|
type(tp1) :: x
|
type(tp1) :: x
|
type(tp2) :: y
|
type(tp2) :: y
|
type(tp3) :: z
|
type(tp3) :: z
|
type(tp3b) :: zb
|
type(tp3b) :: zb
|
|
|
write (*, *) x ! { dg-error "PRIVATE components" }
|
write (*, *) x ! { dg-error "PRIVATE components" }
|
write (*, *) y ! { dg-error "PRIVATE components" }
|
write (*, *) y ! { dg-error "PRIVATE components" }
|
write (*, *) z ! { dg-error "PRIVATE components" }
|
write (*, *) z ! { dg-error "PRIVATE components" }
|
write (*, *) zb
|
write (*, *) zb
|
end program prog
|
end program prog
|
|
|
! { dg-final { cleanup-modules "gfortran2" } }
|
! { dg-final { cleanup-modules "gfortran2" } }
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.