URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 302 |
Rev 384 |
! { dg-do compile }
|
! { dg-do compile }
|
!
|
!
|
! PR fortran/32876 - accepts private items in public NAMELISTs
|
! PR fortran/32876 - accepts private items in public NAMELISTs
|
!
|
!
|
! USE-associated types with private components may
|
! USE-associated types with private components may
|
! not be used in namelists -- anywhere.
|
! not be used in namelists -- anywhere.
|
!
|
!
|
MODULE types
|
MODULE types
|
type :: tp4
|
type :: tp4
|
PRIVATE
|
PRIVATE
|
real :: x
|
real :: x
|
integer :: i
|
integer :: i
|
end type
|
end type
|
|
|
! nested type
|
! nested type
|
type :: tp3
|
type :: tp3
|
real :: x
|
real :: x
|
integer, private :: i
|
integer, private :: i
|
end type
|
end type
|
|
|
type :: tp2
|
type :: tp2
|
type(tp3) :: t
|
type(tp3) :: t
|
end type
|
end type
|
|
|
type :: tp1
|
type :: tp1
|
integer :: i
|
integer :: i
|
type(tp2) :: t
|
type(tp2) :: t
|
end type
|
end type
|
END MODULE
|
END MODULE
|
|
|
MODULE nml
|
MODULE nml
|
USE types
|
USE types
|
|
|
type(tp1) :: t1
|
type(tp1) :: t1
|
type(tp4) :: t4
|
type(tp4) :: t4
|
|
|
namelist /a/ t1 ! { dg-error "use-associated PRIVATE components" }
|
namelist /a/ t1 ! { dg-error "use-associated PRIVATE components" }
|
namelist /b/ t4 ! { dg-error "use-associated PRIVATE components" }
|
namelist /b/ t4 ! { dg-error "use-associated PRIVATE components" }
|
|
|
integer, private :: i
|
integer, private :: i
|
namelist /c/ i ! { dg-error "was declared PRIVATE and cannot be member of PUBLIC namelist" }
|
namelist /c/ i ! { dg-error "was declared PRIVATE and cannot be member of PUBLIC namelist" }
|
|
|
contains
|
contains
|
subroutine y()
|
subroutine y()
|
type(tp2) :: y2
|
type(tp2) :: y2
|
type(tp3) :: y3
|
type(tp3) :: y3
|
|
|
namelist /nml2/ y2 ! { dg-error "has use-associated PRIVATE components " }
|
namelist /nml2/ y2 ! { dg-error "has use-associated PRIVATE components " }
|
namelist /nml3/ y3 ! { dg-error "has use-associated PRIVATE components " }
|
namelist /nml3/ y3 ! { dg-error "has use-associated PRIVATE components " }
|
end subroutine
|
end subroutine
|
END MODULE
|
END MODULE
|
|
|
|
|
program xxx
|
program xxx
|
use types
|
use types
|
|
|
type :: tp5
|
type :: tp5
|
TYPE(tp4) :: t ! nested private components
|
TYPE(tp4) :: t ! nested private components
|
end type
|
end type
|
type(tp5) :: t5
|
type(tp5) :: t5
|
|
|
namelist /nml/ t5 ! { dg-error "has use-associated PRIVATE components" }
|
namelist /nml/ t5 ! { dg-error "has use-associated PRIVATE components" }
|
|
|
contains
|
contains
|
subroutine z()
|
subroutine z()
|
namelist /nml2/ t5 ! { dg-error "has use-associated PRIVATE components" }
|
namelist /nml2/ t5 ! { dg-error "has use-associated PRIVATE components" }
|
end subroutine
|
end subroutine
|
end program
|
end program
|
|
|
! { dg-final { cleanup-modules "types nml" } }
|
! { dg-final { cleanup-modules "types nml" } }
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.