1! { dg-do run } 2! PR29277 Stream IO test 11, tests formatted form. 3! Contributed by Tobias Burnas. 4program stream_test 5 implicit none 6 character(len=*), parameter :: rec1 = 'record1' 7 character(len=*), parameter :: rec2 = 'record2' 8 character(len=50) :: str1,str2 9 integer :: len, i 10 real :: r 11 12 open(10,form='formatted',access='stream',& 13 status='scratch',position='rewind') 14 write(10,'(a)') rec1//new_line('a')//rec2 15 rewind(10) 16 read(10,*) str1 17 read(10,*) str2 18 if(str1 /= rec1 .or. str2 /= rec2) STOP 1 19 rewind(10) 20 read(10,'(a)') str1 21 read(10,'(a)') str2 22 if(str1 /= rec1 .or. str2 /= rec2) STOP 2 23 close(10) 24 25 open(10,form='formatted',access='stream',& 26 status='scratch',position='rewind') 27 write(10,*) '123 '//trim(rec1)//' 1e-12' 28 write(10,*) '12345.6789' 29 rewind(10) 30 read(10,*) i,str1 31 read(10,*) r 32 if(i /= 123 .or. str1 /= rec1 .or. r /= 12345.6789) & 33 STOP 3 34 close(10) 35 36 open(unit=10,form='unformatted',access='stream', & 37 status='scratch',position='rewind') 38 write(10) rec1//new_line('a')//rec2 39 len = len_trim(rec1//new_line('a')//rec2) 40 rewind(10) 41 read(10) str1(1:len) 42 if(str1 /= rec1//new_line('a')//rec2) STOP 4 43end program stream_test 44