1! { dg-do run } 2! PR69456 Namelist value with trailing sign is ignored without error 3implicit none 4integer :: ios 5character(256) :: errormsg 6real :: r1 = -1 7real :: r2 = -1 8real :: r3 = -1 9real :: r4 = -1 10complex :: c1 = (-1,-1) 11namelist /nml/ r1, r2, r3, r4, c1 12 13open (99, status="scratch") 14 15write(99,*) "&nml" 16write(99,*) " r1=1+1" ! Treated as 1e+1! 17write(99,*) " r2=1-1" ! Treated as 1e-1! 18write(99,*) " r3=1+1" ! Treated as 1e+1! 19write(99,*) " r4=1-1" ! Treated as 1e-1! 20write(99,*) " c1=(1-,1+1)" ! Should give error on item number 5 21write(99,*) "/" 22 23rewind(99) 24 25read (99, nml=nml, iostat=ios, iomsg=errormsg) 26if (ios.ne.5010) STOP 1 27if (scan(errormsg, "5").ne.44) STOP 2 28 29rewind(99) 30 31write(99,*) "&nml" 32write(99,*) " r1=1+1" ! Treated as 1e+1! 33write(99,*) " r2=1-" ! Should give error on item number 2 34write(99,*) " r3=1+1" ! Treated as 1e+1! 35write(99,*) " r4=1-1" ! Treated as 1e-1! 36write(99,*) " c1=(1-1,1+1)" ! Treated as (1e-1,1e+1)! 37write(99,*) "/" 38 39rewind(99) 40 41read (99, nml=nml, iostat=ios, iomsg=errormsg) 42if (ios.ne.5010) STOP 3 43if (scan(errormsg, "2").ne.25) STOP 4 44 45close (99) 46 47end 48