pr17286.f90   [plain text]


! { dg-do run }
! PR17286
! Namelist read failed when spaces exist between the '=' and the numbers
! This is a libgfortran bug
! Derived from testcase provided by Paul Thomas <paulthomas2@wanadoo.fr>
       program bug3
       integer num1 , num2 , num3 , num4 
       data num3  / 42 /
       data num4  / 56 /
       namelist /mynml1/ num1,num2
       namelist /mynml2/ num3,num4
       logical dbg
       data dbg / .FALSE. /
       open(unit=10,status='SCRATCH')
       write(10,'(A)') "&mynml1,num1= 16,num2=32,&end"
!
! write mynml2
!
       write(10,mynml2)
       rewind(10)
!
! now read back
!
       num1 = -1
       num2 = -1
       read(10,mynml1)
       if (num1.eq.16.and.num2.eq.32) then
          if (dbg) write(*,mynml1)
       else
          if (dbg) print *, 'expected 16 32 got ',num1,num2
          call abort
       endif
       num3 = -1
       num4 = -1
       read(10,mynml2)
       if (num3.eq.42.and.num4.eq.56) then
          if (dbg) write(*,mynml2)
       else
          if (dbg) print *, 'expected 42 56 got ',num3,num4
          call abort
       endif

       close(10)
       end