diff options
author | Mikael Morin <mikael.morin@tele2.fr> | 2008-10-31 16:56:21 +0100 |
---|---|---|
committer | Mikael Morin <mikael@gcc.gnu.org> | 2008-10-31 15:56:21 +0000 |
commit | d3d0b9e07f69bd21120ebdeac22d4e197b7dfd1c (patch) | |
tree | 811f4814607616ee07e17c7629a183aa38712469 /gcc/fortran/io.c | |
parent | 0e6834af18d539e4615be54eb2f9262898add8b4 (diff) | |
download | gcc-d3d0b9e07f69bd21120ebdeac22d4e197b7dfd1c.zip gcc-d3d0b9e07f69bd21120ebdeac22d4e197b7dfd1c.tar.gz gcc-d3d0b9e07f69bd21120ebdeac22d4e197b7dfd1c.tar.bz2 |
re PR fortran/35840 (ICE for character expression in I/O specifier)
2008-10-31 Mikael Morin <mikael.morin@tele2.fr>
PR fortran/35840
* expr.c (gfc_reduce_init_expr): New function, containing checking code
from gfc_match_init_expr, so that checking can be deferred.
(gfc_match_init_expr): Use gfc_reduce_init_expr.
* io.c (check_io_constraints): Use gfc_reduce_init_expr instead of
checking that the expression is a constant.
* match.h (gfc_reduce_init_expr): Prototype added.
2008-10-31 Mikael Morin <mikael.morin@tele2.fr>
PR fortran/35840
* gfortran.dg/write_check4.f90: New test.
From-SVN: r141497
Diffstat (limited to 'gcc/fortran/io.c')
-rw-r--r-- | gcc/fortran/io.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c index fb5ef3e..cb89edd 100644 --- a/gcc/fortran/io.c +++ b/gcc/fortran/io.c @@ -2973,7 +2973,7 @@ if (condition) \ { static const char * asynchronous[] = { "YES", "NO", NULL }; - if (dt->asynchronous->expr_type != EXPR_CONSTANT) + if (gfc_reduce_init_expr (dt->asynchronous) != SUCCESS) { gfc_error ("ASYNCHRONOUS= specifier at %L must be an initialization " "expression", &dt->asynchronous->where); |