re PR libfortran/33055 (Runtime error in INQUIRE unit existance with -fdefault-integer-8)
2007-10-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/33055 * io/inquire.c (inquire_via_unit): If inquiring by unit, check for an error condition from the IOSTAT variable and set EXIST to false if there was a bad unit number. From-SVN: r129344
This commit is contained in:
parent
1033834f3b
commit
6ae786d29d
@ -1,3 +1,10 @@
|
|||||||
|
2007-10-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR libfortran/33055
|
||||||
|
* io/inquire.c (inquire_via_unit): If inquiring by unit, check for
|
||||||
|
an error condition from the IOSTAT variable and set EXIST to false if
|
||||||
|
there was a bad unit number.
|
||||||
|
|
||||||
2007-10-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
2007-10-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||||
|
|
||||||
PR libfortran/33672
|
PR libfortran/33672
|
||||||
|
@ -45,7 +45,18 @@ inquire_via_unit (st_parameter_inquire *iqp, gfc_unit * u)
|
|||||||
GFC_INTEGER_4 cf = iqp->common.flags;
|
GFC_INTEGER_4 cf = iqp->common.flags;
|
||||||
|
|
||||||
if ((cf & IOPARM_INQUIRE_HAS_EXIST) != 0)
|
if ((cf & IOPARM_INQUIRE_HAS_EXIST) != 0)
|
||||||
*iqp->exist = iqp->common.unit >= 0;
|
{
|
||||||
|
*iqp->exist = (iqp->common.unit >= 0
|
||||||
|
&& iqp->common.unit <= GFC_INTEGER_4_HUGE);
|
||||||
|
|
||||||
|
if ((cf & IOPARM_INQUIRE_HAS_FILE) == 0)
|
||||||
|
{
|
||||||
|
if (!(*iqp->exist))
|
||||||
|
*iqp->common.iostat = LIBERROR_BAD_UNIT;
|
||||||
|
*iqp->exist = *iqp->exist
|
||||||
|
&& (*iqp->common.iostat != LIBERROR_BAD_UNIT);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ((cf & IOPARM_INQUIRE_HAS_OPENED) != 0)
|
if ((cf & IOPARM_INQUIRE_HAS_OPENED) != 0)
|
||||||
*iqp->opened = (u != NULL);
|
*iqp->opened = (u != NULL);
|
||||||
|
Loading…
Reference in New Issue
Block a user