PR fortran/95195 - Fortran testcase should clean up afterwards
authorHarald Anlauf <anlauf@gmx.de>
Mon, 8 Jun 2020 19:00:11 +0000 (21:00 +0200)
committerHarald Anlauf <anlauf@gmx.de>
Mon, 8 Jun 2020 19:01:06 +0000 (21:01 +0200)
Change testcase to check error message (iomsg) at runtime, rather than to crash.

libgfortran/
PR fortran/95091
* io/transfer.c (finalize_transfer): Fix type in error message.

gcc/testsuite/
PR fortran/95195
* gfortran.dg/namelist_97.f90: Adjust testcase.

gcc/testsuite/gfortran.dg/namelist_97.f90
libgfortran/io/transfer.c

index 4907e46b46a9aac1333a5ffe9df94e4446b075f9..3c6ad7ce3c117290c365598e4f632097a98385f3 100644 (file)
@@ -1,14 +1,16 @@
 ! { dg-do run }
-! { dg-output "At line 12 .*" }
-! { dg-shouldfail "Fortran runtime error: Namelist formatting .* FORM='UNFORMATTED'" }
 !
 ! PR95195 - improve runtime error when writing a namelist to an unformatted file
 
 program test
   character(len=11) :: my_form = 'unformatted'
   integer           :: i = 1, j = 2, k = 3
+  character(80)     :: iomsg
   namelist /nml1/ i, j, k
-  open  (unit=10, file='test.dat', form=my_form)
-  write (unit=10, nml=nml1)
+  open  (unit=10, file='namelist_97.dat', form=my_form)
+  write (unit=10, nml=nml1, iostat=iostat, iomsg=iomsg)
   close (unit=10, status='delete')
+  if (iostat == 0) stop 1
+  if (iomsg  /= "Namelist formatting for unit connected with FORM='UNFORMATTED'") &
+       stop 2
 end program test
index cd51679ff46649c5880640882506bbaadcfdd1ea..dc18bc34b3230f4e650993e76b399c311d29d51d 100644 (file)
@@ -4127,7 +4127,7 @@ finalize_transfer (st_parameter_dt *dtp)
         {
           generate_error (&dtp->common, LIBERROR_OPTION_CONFLICT,
                           "Namelist formatting for unit connected "
-                          "with FORM='UNFORMATTED");
+                          "with FORM='UNFORMATTED'");
           return;
         }