📄 namelist_use_only.f90
字号:
! { 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -