Commit 6b2b43d8 by Jerry DeLisle

re PR fortran/44697 (I/O testsuite failures: \r\n vs \n - gfortran.dg/ftell_3.f90)

2010-07-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/44697
	* gfortran.dg/ftell_3.f90: Take care of cr-lf record endings.

From-SVN: r162362
parent 7d8cafcd
2010-07-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/44697
* gfortran.dg/ftell_3.f90: Take care of cr-lf record endings.
2010-07-20 Jeffrey Yasskin <jyasskin@google.com> 2010-07-20 Jeffrey Yasskin <jyasskin@google.com>
* lib/scanasm.exp (dg-function-on-line): Test that a function is * lib/scanasm.exp (dg-function-on-line): Test that a function is
......
...@@ -3,9 +3,10 @@ ...@@ -3,9 +3,10 @@
! Contributed by Janne Blomqvist, Manfred Schwarb ! Contributed by Janne Blomqvist, Manfred Schwarb
! and Dominique d'Humieres. ! and Dominique d'Humieres.
program ftell_3 program ftell_3
integer :: i integer :: i, j
character(1) :: ch
character(len=99) :: buffer character(len=99) :: buffer
open(10, form='formatted', status='scratch', position='rewind') open(10, form='formatted', position='rewind')
write(10, '(a)') '123456' write(10, '(a)') '123456'
write(10, '(a)') '789' write(10, '(a)') '789'
write(10, '(a)') 'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC' write(10, '(a)') 'CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
...@@ -13,16 +14,29 @@ program ftell_3 ...@@ -13,16 +14,29 @@ program ftell_3
rewind(10) rewind(10)
read(10, '(a)') buffer read(10, '(a)') buffer
call ftell(10, i) call ftell(10, i)
if(i /= 7) then ! Expected: On '\n' systems: 7, on \r\n systems: 8
call abort() if(i /= 7 .and. i /= 8) then
call abort
end if end if
read(10,'(a)') buffer read(10,'(a)') buffer
if (trim(buffer) /= "789") then if (trim(buffer) /= "789") then
call abort() call abort()
end if end if
call ftell(10,i) call ftell(10,j)
if (i /= 11) then
call abort()
end if
close(10) close(10)
open(10, access="stream")
! Expected: On '\n' systems: 11, on \r\n systems: 13
if (i == 7) then
read(10, pos=7) ch
if (ch /= char(10)) call abort
if (j /= 11) call abort
end if
if (i == 8) then
read(10, pos=7) ch
if (ch /= char(13)) call abort
read(10) ch
if (ch /= char(10)) call abort
if (j /= 13) call abort
end if
close(10, status="delete")
end program ftell_3 end program ftell_3
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment