OSDN Git Service

2007-05-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 May 2007 01:09:57 +0000 (01:09 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 May 2007 01:09:57 +0000 (01:09 +0000)
PR libfortran/31880
* gfortran.dg/unf_read_corrupted_2.f90: New test.

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

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

index 53f0205..385a25c 100644 (file)
@@ -1,3 +1,8 @@
+2007-05-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/31880
+       * gfortran.dg/unf_read_corrupted_2.f90: New test.
+
 2007-05-09  Mike Stump  <mrs@apple.com>
 
        * g++.dg/other/first-global.C: Add -fpie for darwin.
diff --git a/gcc/testsuite/gfortran.dg/unf_read_corrupted_2.f90 b/gcc/testsuite/gfortran.dg/unf_read_corrupted_2.f90
new file mode 100644 (file)
index 0000000..2a75da7
--- /dev/null
@@ -0,0 +1,27 @@
+! { dg-do run }
+! PR31880 silent data corruption in gfortran read statement
+! Test from PR.
+      program r3
+
+      integer(kind=4) :: a(1025),b(1025),c(1025),d(2048),e(1022)
+      
+      a = 5
+      b = 6
+      c = 7
+      e = 8
+
+      do i=1,2048
+         d(i)=i
+      end do
+
+      open  (3,file='a',form='unformatted')
+      write (3) a,b,c,d,e
+      rewind 3
+      d = 0
+      read  (3) a,b,c,d
+      close (3)
+
+      if (d(1).ne.1) call abort
+      if (d(2048).ne.2048) call abort
+
+      end