+2005-05-29 Steven G. Kargl
+
+ fortran/PR20846
+ * io.c (gfc_match_inquire): Implement constraints on UNIT and FILE usage.
+
2005-05-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
PR libfortran/20006
gfc_inquire *inquire;
gfc_code *code;
match m;
+ locus loc;
m = gfc_match_char ('(');
if (m == MATCH_NO)
inquire = gfc_getmem (sizeof (gfc_inquire));
+ loc = gfc_current_locus;
+
m = match_inquire_element (inquire);
if (m == MATCH_ERROR)
goto cleanup;
if (gfc_match_eos () != MATCH_YES)
goto syntax;
+ if (inquire->unit != NULL && inquire->file != NULL)
+ {
+ gfc_error ("INQUIRE statement at %L cannot contain both FILE and"
+ " UNIT specifiers", &loc);
+ goto cleanup;
+ }
+
+ if (inquire->unit == NULL && inquire->file == NULL)
+ {
+ gfc_error ("INQUIRE statement at %L requires either FILE or"
+ " UNIT specifier", &loc);
+ goto cleanup;
+ }
+
if (gfc_pure (NULL))
{
gfc_error ("INQUIRE statement not allowed in PURE procedure at %C");