OSDN Git Service

2006-07-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 24 Jul 2006 00:26:08 +0000 (00:26 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 24 Jul 2006 00:26:08 +0000 (00:26 +0000)
PR fortran/25289
* gfortran.dg/direct_io_6.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115702 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/direct_io_6.f90 [new file with mode: 0644]

index 8e92c9b..be305c6 100644 (file)
@@ -1,3 +1,8 @@
+2006-07-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/25289
+       * gfortran.dg/direct_io_6.f90: New test.
+
 2006-07-24  Jan Hubicka  <jh@suse.cz>
 
        PR c/25795
diff --git a/gcc/testsuite/gfortran.dg/direct_io_6.f90 b/gcc/testsuite/gfortran.dg/direct_io_6.f90
new file mode 100644 (file)
index 0000000..227d3fe
--- /dev/null
@@ -0,0 +1,27 @@
+!{ dg-do run }
+! PR25289 Cannot handle record numbers larger than huge(0_4).
+! This test checks that very large record numbers can be used.
+! Derived from example in PR.
+! Submitted by Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+      integer(KIND=1) abyte
+      integer(KIND=8) n
+      n = huge(0_4)
+      n = n * 256
+      abyte = 105
+      open(10,file="foo",recl=2,form='unformatted',access='direct')
+      write(10,rec=n) abyte
+      abyte = 0
+      read(10,rec=n) abyte
+      if (abyte.ne.105) call abort()
+      write(10,rec=1) abyte
+      abyte = 0
+      read(10,rec=1) abyte
+      if (abyte.ne.105) call abort()
+      n=n/2
+      write(10,rec=n) abyte
+      abyte = 0
+      read(10,rec=n) abyte
+      if (abyte.ne.105) call abort()
+      close(10, status="delete")
+      end
+      
\ No newline at end of file