aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSteven G. Kargl <kargl@gcc.gnu.org>2014-01-11 21:38:30 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2014-01-11 21:38:30 +0000
commite60c935b0e1999870e2244491b61017aa4cffa27 (patch)
tree99fbadad03ef61a3077324682c8ed16e77453af3 /gcc
parentfde33df77c65ed973e9c6563db9f0063c6d2ab24 (diff)
downloadgcc-e60c935b0e1999870e2244491b61017aa4cffa27.zip
gcc-e60c935b0e1999870e2244491b61017aa4cffa27.tar.gz
gcc-e60c935b0e1999870e2244491b61017aa4cffa27.tar.bz2
re PR fortran/59700 (Misleading/buggy runtime error message: Bad integer for item 0 in list input)
2014-01-11 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/59700 * gfortran.dg/pr59700.f90: New test. From-SVN: r206559
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/pr59700.f9040
2 files changed, 45 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c95790f..3f33d76 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2014-01-11 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/59700
+ * gfortran.dg/pr59700.f90: New test.
+
2014-01-11 Dominique d'Humieres <dominiq@lps.ens.fr>
* gfortran.dg/binding_label_tests_10_main.f03: Cleanup mod file.
diff --git a/gcc/testsuite/gfortran.dg/pr59700.f90 b/gcc/testsuite/gfortran.dg/pr59700.f90
new file mode 100644
index 0000000..579d8a4
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr59700.f90
@@ -0,0 +1,40 @@
+! { dg-do run }
+! PR59700 Test case by Steve Kargl
+program foo
+
+ implicit none
+
+ character(len=80) msg
+ integer, parameter :: fd = 10
+ integer i1, i2, i3, i4
+ real x1, x2, x3, x4
+ complex c1, c2
+ logical a
+
+ open(unit=fd, status='scratch')
+ write(fd, '(A)') '1 2 3.4 q'
+
+ rewind(fd)
+ msg = 'ok'
+ read(fd, *, err=10, iomsg=msg) i1, i2, i3, i4
+10 if (msg /= 'Bad integer for item 3 in list input') call abort
+ rewind(fd)
+ msg = 'ok'
+ read(fd, *, err=20, iomsg=msg) x1, x2, x3, x4
+20 if (msg /= 'Bad real number in item 4 of list input') call abort
+ rewind(fd)
+ msg = 'ok'
+ read(fd, *, err=30, iomsg=msg) i1, x2, x1, a
+30 if (msg /= 'Bad logical value while reading item 4') call abort
+ rewind(fd)
+ read(fd, *, err=31, iomsg=msg) i1, x2, a, x1
+31 if (msg /= 'Bad repeat count in item 3 of list input') call abort
+ close(fd)
+ open(unit=fd, status='scratch')
+ write(fd, '(A)') '(1, 2) (3.4, q)'
+ rewind(fd)
+ msg = 'ok'
+ read(fd, *, err=40, iomsg=msg) c1, c2
+40 if (msg /= 'Bad floating point number for item 2') call abort
+ close(fd)
+end program foo