namelist_use_only.f90
来自「用于进行gcc测试」· F90 代码 · 共 37 行
F90
37 行
! { dg-do run }! This tests the fix for PR22010, where namelists were not being written to! and read back from modules. It checks that namelists from modules that are! selected by an ONLY declaration work correctly, even when the variables in! the namelist are not host associated. Note that renaming a namelist by USE! association is not allowed by the standard and this is trapped in module.c.!! Contributed by Paul Thomas pault@gcc.gnu.org!module global character*4 :: aa, aaa integer :: ii, iii real :: rr, rrr namelist /nml1/ aa, ii, rr namelist /nml2/ aaa, iii, rrrcontains logical function foo() foo = (aaa.ne."pqrs").or.(iii.ne.2).or.(rrr.ne.3.5) end function fooend module globalprogram namelist_use_only use global, only : nml1, aa, ii, rr use global, only : nml2, rrrr=>rrr, foo open (10, status="scratch") write (10,'(a)') "&NML1 aa='lmno' ii=1 rr=2.5 /" write (10,'(a)') "&NML2 aaa='pqrs' iii=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.(rrrr.ne.3.5).or.foo()) call abort () close (10)end program namelist_use_only! { dg-final { cleanup-modules "global" } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?