re PR fortran/61933 (Inquire on internal units)
2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/61933 * io/inquire.c (inquire_via_unit): Set existing to true if a gfc_unit stucture was found for the given unit number. * runtime/error.c (translate_error): Add case for LIBERROR_INQUIRE_INTERNAL_UNIT. From-SVN: r219631
This commit is contained in:
parent
2da229cb17
commit
351b443252
@ -1,3 +1,11 @@
|
||||
2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR libgfortran/61933
|
||||
* io/inquire.c (inquire_via_unit): Set existing to true if a
|
||||
gfc_unit stucture was found for the given unit number.
|
||||
* runtime/error.c (translate_error): Add case for
|
||||
LIBERROR_INQUIRE_INTERNAL_UNIT.
|
||||
|
||||
2015-01-05 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
Update copyright years.
|
||||
|
@ -41,19 +41,11 @@ inquire_via_unit (st_parameter_inquire *iqp, gfc_unit * u)
|
||||
const char *p;
|
||||
GFC_INTEGER_4 cf = iqp->common.flags;
|
||||
|
||||
if ((cf & IOPARM_INQUIRE_HAS_EXIST) != 0)
|
||||
{
|
||||
*iqp->exist = (iqp->common.unit >= 0
|
||||
&& iqp->common.unit <= GFC_INTEGER_4_HUGE);
|
||||
if (iqp->common.unit == -1)
|
||||
generate_error (&iqp->common, LIBERROR_INQUIRE_INTERNAL_UNIT, NULL);
|
||||
|
||||
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_EXIST) != 0)
|
||||
*iqp->exist = (u != NULL);
|
||||
|
||||
if ((cf & IOPARM_INQUIRE_HAS_OPENED) != 0)
|
||||
*iqp->opened = (u != NULL);
|
||||
|
@ -488,6 +488,10 @@ translate_error (int code)
|
||||
p = "Unformatted file structure has been corrupted";
|
||||
break;
|
||||
|
||||
case LIBERROR_INQUIRE_INTERNAL_UNIT:
|
||||
p = "Inquire statement identifies an internal file";
|
||||
break;
|
||||
|
||||
default:
|
||||
p = "Unknown error code";
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user