35 lines
820 B
Fortran
35 lines
820 B
Fortran
! { dg-do compile }
|
|
! { dg-options "-O0" }
|
|
! Tests the fix for PR24207 and the problems associated
|
|
! with the fix for PR21986. In two cases, use associated
|
|
! public symbols were taking on the default private access
|
|
! attribute of the local namespace. In the third, a private
|
|
! symbol was not available to a namelist in contained
|
|
! procedure in the same module.
|
|
!
|
|
! Based on the example in PR24207.
|
|
!
|
|
module a
|
|
implicit none
|
|
real b
|
|
type :: mytype
|
|
integer :: c
|
|
end type mytype
|
|
end module a
|
|
module c
|
|
use a
|
|
implicit none
|
|
public d
|
|
private
|
|
real x
|
|
contains
|
|
subroutine d (arg_t) ! This would cause an error
|
|
type (mytype) :: arg_t
|
|
namelist /e/ b, x ! .... as would this.
|
|
read(5,e)
|
|
arg_t%c = 42
|
|
end subroutine d
|
|
end module c
|
|
|
|
! { dg-final { cleanup-modules "a c" } }
|