+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 ';'.
--- /dev/null
+! { 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
--- /dev/null
+! { 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
--- /dev/null
+! { 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
+