Commit 201c811d by Jerry DeLisle

re PR fortran/31366 ([4.2 only] Last record truncated for read after short…

re PR fortran/31366 ([4.2 only] Last record truncated for read after short write, direct access file)

2007-04-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/31366
	* gfortran.dg/direct_io_6.f90: New test.
	
2007-04-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/31207
	* gfortran.dg/advance_5.f90: New test.
	* gfortran.dg/advance_6.f90: New test.

From-SVN: r123402
parent 13846929
2007-04-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/31366
* gfortran.dg/direct_io_6.f90: New test.
2007-04-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/31207
* gfortran.dg/advance_5.f90: New test.
* gfortran.dg/advance_6.f90: New test.
2007-04-01 Danny Smith <dannysmith@users.sourceforge.net>
* g++.dg/ext/dllimport6.C: Remove extra ';'.
! { dg-do run }
! PR31207 Last record truncated for read after short write
program main
character(10) :: answer
write (12,'(A,T2,A)',advance="no") 'XXXXXX','ABCD'
close (12)
read (12, '(6A)') answer
close (12, status="delete")
if (answer /= "XABCDX") call abort()
end program main
\ No newline at end of file
! { dg-do run }
! PR31207 Last record truncated for read after short write.
character(len=20) :: b
! write something no advance
open(10,file="fort.10",position="rewind")
write(10, '(a,t1,a)',advance='no') 'xxxxxx', 'abc'
close(10)
! append some data
open(10,file="fort.10",position="append")
write(10, '(a)') 'def'
close(10)
! check what is in the first record
open(10,file="fort.10",position="rewind")
read(10,'(a)') b
close(10, status="delete")
if (b.ne."abcxxx") call abort()
end
! { dg-do run }
! pr31366 last record truncated for read after short write, direct access file.
! test case derived from pr, submitted by jerry delisle <jvdelisle@gcc.gnu.org
program test
character(len=8) :: as_written, as_read
character(1) :: byte
as_written = "12345678"
open (76, access="direct", recl=12, status="scratch")
write(76, rec=1) as_written
write(76, rec=2) as_written
read(76, rec=1) as_read, byte, byte, byte, byte
read(76, rec=2, err=3) as_read, byte, byte, byte, byte
stop
3 call abort()
end program test
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