summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/iostat_1.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/iostat_1.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/iostat_1.f9014
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/iostat_1.f90 b/gcc/testsuite/gfortran.dg/iostat_1.f90
new file mode 100644
index 000000000..79bc0018f
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/iostat_1.f90
@@ -0,0 +1,14 @@
+! { dg-do run }
+! PR 23598 - The iostat variable wasn't reset if the previous
+! I/O library call had an error.
+program main
+ implicit none
+ integer :: ios, i
+ open (10, pad='no', status='scratch')
+ write (10, '(A)') '1','1'
+ rewind (10)
+ read (10,'(I2)',iostat=ios) i
+ ios = -4321
+ read (10, '(I1)', iostat=ios) i
+ if (ios /= 0) call abort
+end program main