aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2006-10-26 07:19:49 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2006-10-26 07:19:49 +0000
commit9a3da65a389ec77da912edbb2f691134292babaa (patch)
tree528e74f150f9734b9a3103cf522117818d0decf4
parentbbd6c8aa7606b9f24632cc2d11a2ca3748c6d8bd (diff)
downloadgcc-9a3da65a389ec77da912edbb2f691134292babaa.zip
gcc-9a3da65a389ec77da912edbb2f691134292babaa.tar.gz
gcc-9a3da65a389ec77da912edbb2f691134292babaa.tar.bz2
re PR fortran/29563 (Internal read loses data.)
2006-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/29563 * gfortran.dg/arrayio_9.f90: Update test. * gfortran.dg/arrayio_19.f90: New test. From-SVN: r118064
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gfortran.dg/arrayio_10.f9012
-rw-r--r--gcc/testsuite/gfortran.dg/arrayio_9.f907
3 files changed, 22 insertions, 3 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ad0ca6f7..30a6149 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2006-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/29563
+ * gfortran.dg/arrayio_9.f90: Update test.
+ * gfortran.dg/arrayio_19.f90: New test.
+
2006-10-26 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.dg/20061026.c: New testcase.
diff --git a/gcc/testsuite/gfortran.dg/arrayio_10.f90 b/gcc/testsuite/gfortran.dg/arrayio_10.f90
new file mode 100644
index 0000000..2be99ec
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/arrayio_10.f90
@@ -0,0 +1,12 @@
+! { dg-do run }
+! PR29563 Internal read loses data.
+! Test case submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
+! Without patch, values get muddled.
+program pr29563
+ character(len=4), dimension(3)::arraydata = (/'1123',' 456','789 '/)
+ real(kind=8), dimension(3) :: tmp
+ read(arraydata,*,iostat=iostat)tmp
+ if (tmp(1).ne.1123.0) call abort()
+ if (tmp(2).ne.456.0) call abort()
+ if (tmp(3).ne.789.0) call abort()
+end program pr29563 \ No newline at end of file
diff --git a/gcc/testsuite/gfortran.dg/arrayio_9.f90 b/gcc/testsuite/gfortran.dg/arrayio_9.f90
index cbe0cc0f..f8efdf1 100644
--- a/gcc/testsuite/gfortran.dg/arrayio_9.f90
+++ b/gcc/testsuite/gfortran.dg/arrayio_9.f90
@@ -1,10 +1,11 @@
! { dg-do run }
! PR29563 Internal read loses data.
-! Test from test case submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
+! Test from test case. Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
! Without patch, last value in array was being skipped in the read.
program pr29563
character(len=10), dimension(3)::arraydata = (/' 1 2 3',' 4 5 6',' 7 8 9'/)
real(kind=8), dimension(3,3) :: tmp
- read(arraydata,'(3(3f2.0/))',iostat=iostat)((tmp(i,j),j=1,3),i=1,3)
- if (tmp(3,3)-9.0.gt.0.0000001) print *, "abort"
+ tmp = 0.0
+ read(arraydata,*,iostat=iostat)((tmp(i,j),j=1,3),i=1,3)
+ if (tmp(3,3)-9.0.gt.0.0000001) call abort()
end program pr29563 \ No newline at end of file