44 lines
1.3 KiB
Fortran
44 lines
1.3 KiB
Fortran
!{ dg-do run { target fd_truncate } }
|
|
!{ dg-options "-std=legacy" }
|
|
!
|
|
! Tests filling arrays from a namelist read when object list is not complete.
|
|
! Developed from a test case provided by Christoph Jacob.
|
|
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>.
|
|
program pr24794
|
|
|
|
implicit none
|
|
integer, parameter :: maxop=15, iunit=7
|
|
character*8 namea(maxop), nameb(maxop)
|
|
integer i, ier
|
|
|
|
namelist/ccsopr/ namea,nameb
|
|
namea=""
|
|
nameb=""
|
|
open (12, status="scratch", delim="apostrophe")
|
|
write (12, '(a)') "&ccsopr"
|
|
write (12, '(a)') " namea='spi01h','spi02o','spi03h','spi04o','spi05h',"
|
|
write (12, '(a)') " 'spi07o','spi08h','spi09h',"
|
|
write (12, '(a)') " nameb='spi01h','spi03h','spi05h','spi06h','spi08h',"
|
|
write (12, '(a)') "&end"
|
|
|
|
rewind (12)
|
|
read (12, nml=ccsopr, iostat=ier)
|
|
if (ier.ne.0) call abort()
|
|
|
|
rewind (12)
|
|
write(12,nml=ccsopr)
|
|
|
|
rewind (12)
|
|
read (12, nml=ccsopr, iostat=ier)
|
|
if (ier.ne.0) call abort()
|
|
|
|
if (namea(2).ne."spi02o ") call abort()
|
|
if (namea(9).ne." ") call abort()
|
|
if (namea(15).ne." ") call abort()
|
|
if (nameb(1).ne."spi01h ") call abort()
|
|
if (nameb(6).ne." ") call abort()
|
|
if (nameb(15).ne." ") call abort()
|
|
|
|
close (12)
|
|
end program pr24794
|