34 lines
1.0 KiB
Fortran
34 lines
1.0 KiB
Fortran
! { dg-do run }
|
|
! This tests the fix for PR22010, where namelists were not being written to
|
|
! and read back from modules. It has two namelists: one that is USE
|
|
! associated and another that is concatenated by USE and host association.
|
|
!
|
|
! Contributed by Paul Thomas pault@gcc.gnu.org
|
|
!
|
|
module global
|
|
character(4) :: aa
|
|
integer :: ii
|
|
real :: rr
|
|
namelist /nml1/ aa, ii, rr
|
|
namelist /nml2/ aa
|
|
end module global
|
|
program namelist_use
|
|
use global
|
|
real :: rrr
|
|
! Concatenate use and host associated variables - an extension.
|
|
namelist /nml2/ ii, rrr ! { dg-warning "already is USE associated" }
|
|
open (10, status="scratch")
|
|
write (10,*) "&NML1 aa='lmno' ii=1 rr=2.5 /"
|
|
write (10,*) "&NML2 aa='pqrs' ii=2 rrr=3.5 /"
|
|
rewind (10)
|
|
read (10,nml=nml1,iostat=i)
|
|
if ((i.ne.0).or.(aa.ne."lmno").or.(ii.ne.1).or.(rr.ne.2.5)) call abort ()
|
|
|
|
read (10,nml=nml2,iostat=i)
|
|
if ((i.ne.0).or.(aa.ne."pqrs").or.(ii.ne.2).or.(rrr.ne.3.5)) call abort ()
|
|
|
|
close (10)
|
|
end program namelist_use
|
|
|
|
! { dg-final { cleanup-modules "global" } }
|