From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14850 invoked by alias); 18 Oct 2008 08:44:36 -0000 Received: (qmail 14715 invoked by uid 48); 18 Oct 2008 08:43:16 -0000 Date: Sat, 18 Oct 2008 08:44:00 -0000 Message-ID: <20081018084316.14714.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug libfortran/37707] Namelist read of array of derived type incorrect In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "toon at moene dot indiv dot nluug dot nl" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2008-10/txt/msg01185.txt.bz2 ------- 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