1! { dg-do run } 2! PR25307 Check handling of end-of-file conditions for list directed reads. 3! Prepared by Jerry DeLisle <jvdelisle@gcc.gnu.org> 4program pr25307 5 character(len=10) :: str 6 character(len=10) :: a(5) 7 a="" 8 a(1)="123" 9 a(3)="234" 10 str = '123' 11! Check internal unit 12 i = 0 13 j = 0 14 read( str, *, end=10 ) i,j 15 call abort() 1610 continue 17 if (i.ne.123) call abort() 18 if (j.ne.0) call abort() 19! Check file unit 20 i = 0 21 open(10, status="scratch") 22 write(10,'(a)') "123" 23 rewind(10) 24 read(10, *, end=20) i,j 25 call abort() 2620 continue 27 if (i.ne.123) call abort() 28 if (j.ne.0) call abort() 29! Check internal array unit 30 i = 0 31 j = 0 32 k = 0 33 read(a(1:5:2),*, end=30)i,j,k 34 call abort() 3530 continue 36 if (i.ne.123) call abort() 37 if (j.ne.234) call abort() 38 if (k.ne.0) call abort() 39end program pr25307 40