This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libfortran/37707] Namelist read of array of derived type incorrect
- From: "toon at moene dot indiv dot nluug dot nl" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Oct 2008 08:43:16 -0000
- Subject: [Bug libfortran/37707] Namelist read of array of derived type incorrect
- References: <bug-37707-109@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #13 from toon at moene dot indiv dot nluug dot nl 2008-10-18 08:43 -------
Unfortunately, while the original test case has been solved, the original
problem that led me to file this bug report hasn't been ...
Here's a failing example closer to the original source:
TYPE geometry
INTEGER :: nlon,nlat,nlev,projection
INTEGER :: center,subcenter,process
REAL :: west,south,east,north
REAL :: dlon,dlat
REAL :: polat,polon
REAL :: lonc,latc
REAL :: projlat,projlat2,projlon
CHARACTER(LEN=1) :: arakawa ='#'
INTEGER :: truncx,truncy ! Spectral truncation
INTEGER :: cie ! Flag fort CI (0), CIE gridpoint (1)
! or CIE spectral (-1)
INTEGER :: nlat_i,nlon_i ! I length in Y and X direction
INTEGER :: nlat_e ,nlon_e ! E length in Y and X direction
LOGICAL :: do_geo = .true.
END TYPE geometry
TYPE shortkey
INTEGER :: PPP ! 2. Parameter
INTEGER :: NNN ! 12. Gridpoint or spectral field 0 = gridpoint, 1
= spectral
INTEGER :: INTPM
CHARACTER(LEN=16) :: name
END TYPE shortkey
INTEGER, PARAMETER :: maxl = 200 ! Maximum number of levels to be read
from namelist
INTEGER, PARAMETER :: max_atmkey = 10 ! Maximum number of extra fields in
the
REAL :: ahalf(maxl),bhalf(maxl)
TYPE (geometry) :: outgeo ; SAVE outgeo ! Output geometry
TYPE (shortkey) :: atmkey(max_atmkey) ; SAVE atmkey
TYPE (shortkey) :: mlevkey(max_atmkey) ; SAVE mlevkey
character*200 :: l = " &NAMINTERP atmkey%ppp = 076,058,062,079, atmkey%nnn =
000,000,000,000, &
& atmkey%name
='LIQUID_WATER','SOLID_WATER','SNOW','RAIN', OUTGEO%NLEV=10, &
& AHALF=0.,1.,2.,3.,4.,5.,6.,7.,8.,9.,
BHALF=0.,1.,2.,3.,4.,5.,6.,7.,8.,9., /"
namelist /naminterp/outgeo,ahalf,bhalf,atmkey
read(l,naminterp)
write(6,naminterp)
end
It yields:
At line 40 of file nl4.f90
Fortran runtime error: Cannot match namelist object name 5.6.7.8.9.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37707