aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/io.c
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2012-12-27 18:09:13 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2012-12-27 18:09:13 +0000
commit93e8af199cc829c12790873935a4fa4c51c89044 (patch)
tree6f4d966648a1add073849598d28e700c75419c8f /gcc/fortran/io.c
parent797332eda948b694d2e5199869ebd8e748b938db (diff)
downloadgcc-93e8af199cc829c12790873935a4fa4c51c89044.zip
gcc-93e8af199cc829c12790873935a4fa4c51c89044.tar.gz
gcc-93e8af199cc829c12790873935a4fa4c51c89044.tar.bz2
re PR fortran/48976 (INQUIRE with STREAM= not supported)
2012-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/48976 * gfortran.h (gfc_inquire struct): Add pointer for inquire stream. * io.c (io_tag): Add tag for inquire stream. (match_inquire_element): Add matcher for new tag. (gfc_resolve_inquire): Resolve new tag. * ioparm.def: Add new parameter for inquire stream. * trans-io.c (gfc_trans_inquire): Add tranlste code for inquire stream. From-SVN: r194734
Diffstat (limited to 'gcc/fortran/io.c')
-rw-r--r--gcc/fortran/io.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c
index bd84f1f..7eb52a9 100644
--- a/gcc/fortran/io.c
+++ b/gcc/fortran/io.c
@@ -97,7 +97,8 @@ static const io_tag
tag_eor = {"EOR", " eor =", " %l", BT_UNKNOWN},
tag_id = {"ID", " id =", " %v", BT_INTEGER},
tag_pending = {"PENDING", " pending =", " %v", BT_LOGICAL},
- tag_newunit = {"NEWUNIT", " newunit =", " %v", BT_INTEGER};
+ tag_newunit = {"NEWUNIT", " newunit =", " %v", BT_INTEGER},
+ tag_s_iqstream = {"STREAM", " stream =", " %v", BT_CHARACTER};
static gfc_dt *current_dt;
@@ -3912,6 +3913,7 @@ match_inquire_element (gfc_inquire *inquire)
RETM m = match_out_tag (&tag_strm_out, &inquire->strm_pos);
RETM m = match_vtag (&tag_pending, &inquire->pending);
RETM m = match_vtag (&tag_id, &inquire->id);
+ RETM m = match_vtag (&tag_s_iqstream, &inquire->iqstream);
RETM return MATCH_NO;
}
@@ -4101,6 +4103,7 @@ gfc_resolve_inquire (gfc_inquire *inquire)
INQUIRE_RESOLVE_TAG (&tag_pending, inquire->pending);
INQUIRE_RESOLVE_TAG (&tag_size, inquire->size);
INQUIRE_RESOLVE_TAG (&tag_s_decimal, inquire->decimal);
+ INQUIRE_RESOLVE_TAG (&tag_s_iqstream, inquire->iqstream);
#undef INQUIRE_RESOLVE_TAG
if (gfc_reference_st_label (inquire->err, ST_LABEL_TARGET) == FAILURE)