aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2006-04-17 02:37:15 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2006-04-17 02:37:15 +0000
commit27b996417598f927b5d40c4477a917c898848e0e (patch)
treec9f5baef98a839728a73464f20caf395d7e5b165 /gcc
parent9855448d2240ff1e81395ea45fb7820aacc58038 (diff)
downloadgcc-27b996417598f927b5d40c4477a917c898848e0e.zip
gcc-27b996417598f927b5d40c4477a917c898848e0e.tar.gz
gcc-27b996417598f927b5d40c4477a917c898848e0e.tar.bz2
re PR fortran/27138 (gfortran: read(*,*) myInt advances only one character on error)
2006-04-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/27138 * gfortran.dg/read_bad_advance.f90: New test. From-SVN: r113000
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/read_bad_advance.f9032
2 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 313a7fc..173395e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2006-04-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/27138
+ * gfortran.dg/read_bad_advance.f90: New test.
+
2006-04-16 Roger Sayle <roger@eyesopen.com>
Dale Johannesen <dalej@apple.com>
diff --git a/gcc/testsuite/gfortran.dg/read_bad_advance.f90 b/gcc/testsuite/gfortran.dg/read_bad_advance.f90
new file mode 100644
index 0000000..5b43cfe
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/read_bad_advance.f90
@@ -0,0 +1,32 @@
+! { dg-do run }
+! PR27138 Failure to advance line on bad list directed read.
+! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
+ program test
+ implicit none
+ integer :: ntype = 55
+ real :: rtype
+ complex :: ctype
+ logical :: ltype
+ OPEN (10)
+ write(10,*) "aaaa aaaa aaaa aaaa"
+ write(10,*) "bbbb bbbb bbbb bbbb"
+ write(10,*) "cccc cccc cccc cccc"
+ write(10,*) "dddd dddd dddd dddd"
+ write(10,*) " "
+ write(10,*) "1234 5678 9012 3456"
+ rewind(10)
+ READ (10,*,END=77,ERR=77) ntype
+ goto 99
+ 77 READ (10,*,END=78,ERR=78) rtype
+ goto 99
+ 78 READ (10,*,END=79,ERR=79) ctype
+ goto 99
+ 79 READ (10,*,END=80,ERR=80) ltype
+ goto 99
+ 80 READ (10,*,END=99,ERR=99) ntype
+ if (ntype.ne.1234) goto 99
+ close(10, status="delete")
+ stop
+ 99 close(10, status="delete")
+ call abort()
+ end program test