diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2008-04-07 22:07:44 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2008-04-07 22:07:44 +0000 |
commit | d06b3496f60fba03f0a742f9adfc0a6174f3f60d (patch) | |
tree | d0c78839eaa0e8d575e625941f9f193f1bc826a6 /gcc/fortran/trans-io.c | |
parent | 931149a6b763268df6377a2951927b2db4e4e350 (diff) | |
download | gcc-d06b3496f60fba03f0a742f9adfc0a6174f3f60d.zip gcc-d06b3496f60fba03f0a742f9adfc0a6174f3f60d.tar.gz gcc-d06b3496f60fba03f0a742f9adfc0a6174f3f60d.tar.bz2 |
PR fortran/25829 28655
2008-04-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/25829 28655
* io.c (io_tag): Add new tags for decimal, encoding, asynchronous,
round, sign, and id. (match_open_element): Match new tags.
(gfc_resolve_open): Resolve new tags. (gfc_match_open): Enable encoding
for DEFAULT only. Update error messages. (match_dt_element): Fix match
tag for asynchronous. Update error messages. (gfc_free_inquire): Free
new expressions. (match_inquire_element): Match new tags.
(gfc_match_inquire): Add constraint for ID and PENDING.
(gfc_resolve_inquire): Resolve new tags.
* trans-io.c (gfc_trans_inquire): Clean up whitespace and fix setting of
mask for ID parameter.
* ioparm.def: Fix order of parameters for pending, round, and sign.
NOTE: These must line up with the definitions in libgfortran/io/io.h. or
things don't work.
From-SVN: r133989
Diffstat (limited to 'gcc/fortran/trans-io.c')
-rw-r--r-- | gcc/fortran/trans-io.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/gcc/fortran/trans-io.c b/gcc/fortran/trans-io.c index 6bc41e1..6316a42 100644 --- a/gcc/fortran/trans-io.c +++ b/gcc/fortran/trans-io.c @@ -1238,6 +1238,10 @@ gfc_trans_inquire (gfc_code * code) mask |= set_string (&block, &post_block, var, IOPARM_inquire_blank, p->blank); + if (p->delim) + mask |= set_string (&block, &post_block, var, IOPARM_inquire_delim, + p->delim); + if (p->position) mask |= set_string (&block, &post_block, var, IOPARM_inquire_position, p->position); @@ -1258,14 +1262,10 @@ gfc_trans_inquire (gfc_code * code) mask |= set_string (&block, &post_block, var, IOPARM_inquire_readwrite, p->readwrite); - if (p->delim) - mask |= set_string (&block, &post_block, var, IOPARM_inquire_delim, - p->delim); - if (p->pad) mask |= set_string (&block, &post_block, var, IOPARM_inquire_pad, p->pad); - + if (p->convert) mask |= set_string (&block, &post_block, var, IOPARM_inquire_convert, p->convert); @@ -1304,7 +1304,8 @@ gfc_trans_inquire (gfc_code * code) p->size); if (p->id) - mask2 |= set_parameter_value (&block, var, IOPARM_inquire_id, p->id); + mask2 |= set_parameter_ref (&block, &post_block,var, IOPARM_inquire_id, + p->id); set_parameter_const (&block, var, IOPARM_inquire_flags2, mask2); |