diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2015-01-15 03:51:16 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2015-01-15 03:51:16 +0000 |
commit | 2da229cb17e3fd65fdd12e9180d855ba583e1632 (patch) | |
tree | 848d6c46ac6746acb9d5369094fbeadb60b38c9e /gcc/fortran/trans-io.c | |
parent | d5d9c650a27e31b6b2235c8b82b4430f8babfa25 (diff) | |
download | gcc-2da229cb17e3fd65fdd12e9180d855ba583e1632.zip gcc-2da229cb17e3fd65fdd12e9180d855ba583e1632.tar.gz gcc-2da229cb17e3fd65fdd12e9180d855ba583e1632.tar.bz2 |
re PR fortran/61933 (Inquire on internal units)
2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/61933
* io.c (gfc_match_inquire): Generate error if unit number in
inquire statement is a constant -1. All other values allowed.
* trans-io.c (gfc_trans_inquire): Delete dummy iostat variable.
(create_dummy_iostat): Delete function no longer used.
From-SVN: r219630
Diffstat (limited to 'gcc/fortran/trans-io.c')
-rw-r--r-- | gcc/fortran/trans-io.c | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/gcc/fortran/trans-io.c b/gcc/fortran/trans-io.c index ef37fcf..e619acb 100644 --- a/gcc/fortran/trans-io.c +++ b/gcc/fortran/trans-io.c @@ -1186,33 +1186,6 @@ gfc_trans_flush (gfc_code * code) } -/* Create a dummy iostat variable to catch any error due to bad unit. */ - -static gfc_expr * -create_dummy_iostat (void) -{ - gfc_symtree *st; - gfc_expr *e; - - gfc_get_ha_sym_tree ("@iostat", &st); - st->n.sym->ts.type = BT_INTEGER; - st->n.sym->ts.kind = gfc_default_integer_kind; - gfc_set_sym_referenced (st->n.sym); - gfc_commit_symbol (st->n.sym); - st->n.sym->backend_decl - = gfc_create_var (gfc_get_int_type (st->n.sym->ts.kind), - st->n.sym->name); - - e = gfc_get_expr (); - e->expr_type = EXPR_VARIABLE; - e->symtree = st; - e->ts.type = BT_INTEGER; - e->ts.kind = st->n.sym->ts.kind; - - return e; -} - - /* Translate the non-IOLENGTH form of an INQUIRE statement. */ tree @@ -1255,13 +1228,6 @@ gfc_trans_inquire (gfc_code * code) { mask |= set_parameter_ref (&block, &post_block, var, IOPARM_inquire_exist, p->exist); - - if (p->unit && !p->iostat) - { - p->iostat = create_dummy_iostat (); - mask |= set_parameter_ref (&block, &post_block, var, - IOPARM_common_iostat, p->iostat); - } } if (p->opened) |