This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libfortran/37707] Namelist read of array of derived type incorrect



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]