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

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [gfortran.dg/] [der_io_3.f90] - Diff between revs 302 and 384

Only display areas with differences | Details | Blame | View Log

Rev 302 Rev 384
! { dg-do compile }
! { dg-do compile }
! { dg-options "-std=legacy" }
! { dg-options "-std=legacy" }
!
!
! PR23843
! PR23843
! Make sure derived type I/O with PRIVATE components works where it's allowed
! Make sure derived type I/O with PRIVATE components works where it's allowed
module m1
module m1
  type t1
  type t1
     integer i
     integer i
  end type t1
  end type t1
end module m1
end module m1
module m2
module m2
  use m1
  use m1
  type t2
  type t2
     private
     private
     type (t1) t
     type (t1) t
  end type t2
  end type t2
  type t3
  type t3
     private
     private
     integer i
     integer i
  end type t3
  end type t3
contains
contains
  subroutine test
  subroutine test
    character*20 c
    character*20 c
    type(t2) :: a
    type(t2) :: a
    type(t3) :: b
    type(t3) :: b
    a % t % i = 31337
    a % t % i = 31337
    b % i = 255
    b % i = 255
    write(c,*) a
    write(c,*) a
    if (trim(adjustl(c)) /= "31337") call abort
    if (trim(adjustl(c)) /= "31337") call abort
    write(c,*) b
    write(c,*) b
    if (trim(adjustl(c)) /= "255") call abort
    if (trim(adjustl(c)) /= "255") call abort
  end subroutine test
  end subroutine test
end module m2
end module m2
use m2
use m2
call test
call test
end
end
! { dg-final { cleanup-modules "m1 m2" } }
! { dg-final { cleanup-modules "m1 m2" } }
 
 

powered by: WebSVN 2.1.0

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