2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66979
* io.c (gfc_resolve_filepos): Check for a UNIT number. Add a nearby
missing 'return false'.
2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/66979
gfortran.dg/pr66979.f90: new test.
From-SVN: r228364
+2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66979
+ * io.c (gfc_resolve_filepos): Check for a UNIT number. Add a nearby
+ missing 'return false'.
+
2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/67616
if (!gfc_reference_st_label (fp->err, ST_LABEL_TARGET))
return false;
+ if (!fp->unit && (fp->iostat || fp->iomsg))
+ {
+ locus where;
+ where = fp->iostat ? fp->iostat->where : fp->iomsg->where;
+ gfc_error ("UNIT number missing in statement at %L", &where);
+ return false;
+ }
+
if (fp->unit->expr_type == EXPR_CONSTANT
&& fp->unit->ts.type == BT_INTEGER
&& mpz_sgn (fp->unit->value.integer) < 0)
{
gfc_error ("UNIT number in statement at %L must be non-negative",
&fp->unit->where);
+ return false;
}
return true;
+2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/66979
+ gfortran.dg/pr66979.f90: new test.
+
2015-10-01 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/67616
--- /dev/null
+! { dg-do compile }
+! PR fortran/66979
+program p
+ implicit none
+ integer::i
+ flush (iostat=i) ! { dg-error "UNIT number missing" }
+end program p