On Thu, 29 Aug 2024 17:59:04 +0000, Steven G. Kargl wrote:
F2023:C8107 states
The namelist-group-name shall not be a name accessed by use association.
Are following pieces of code standard conforming?
! Code 1
module mod_nml1
implicit none
logical :: ldiag
namelist /nam_nml1/ldiag
end module mod_nml1
program ice_nml
use mod_nml1
implicit none
integer :: ilu
ldiag = .false.
write(*,nml=nam_nml1) ! <-- Use assoc. of namelist-group-name
end program ice_nml
! Code 2
module mod_nml1
implicit none
logical :: ldiag
namelist /nam_nml1/ldiag
end module mod_nml1
program ice_nml
use mod_nml1
implicit none
integer :: ilu, j
namelist /nam_nml1/j ! <-- Use assoc of namelist-group-name
ldiag = .false.
j = 42
write(*,nml=nam_nml1) ! <-- Use assoc of namelist-group-name
end program ice_nml
Clarification of the interpretation of C8107 would be appreciated?
After a few minutes re-reading parts of Fortran 2023, I have concluded
that Code 1 is conforming and Code 2 is non-conforming. My issue was
caused by gfortran accepting Code 2 without and error or warning under
-std=gnu option (default behavior). If -std=f2023 is used, then gfortran issues an expected error messages.
--
steve
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)