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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.2.2/] [gcc/] [testsuite/] [gfortran.dg/] [der_io_2.f90] - Diff between revs 149 and 154

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" } }
 
 

powered by: WebSVN 2.1.0

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