diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2015-03-28 13:27:58 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2015-03-28 13:27:58 +0000 |
commit | d520fea881d6d6dc2b57e126651ec4711a3d0faa (patch) | |
tree | 6b187a79742a615677168c8fe11279a3223b450b | |
parent | 85b237bb66c69ef4f74e484a1e093d6544670fe7 (diff) | |
download | gcc-d520fea881d6d6dc2b57e126651ec4711a3d0faa.zip gcc-d520fea881d6d6dc2b57e126651ec4711a3d0faa.tar.gz gcc-d520fea881d6d6dc2b57e126651ec4711a3d0faa.tar.bz2 |
re PR fortran/65596 (NAMELIST bug with f2003: reads too far)
2015-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/65596
* io/transfer.c (data_transfer_init): If in namelist mode and
delimiter is not specified, set it to DELIM_QUOTE, independent
of -std.
* io/unit.c (init_units): Set flags.delim to the correct
initial value of DELIM_UNSPECIFIED.
From-SVN: r221753
-rw-r--r-- | libgfortran/ChangeLog | 9 | ||||
-rw-r--r-- | libgfortran/io/transfer.c | 3 | ||||
-rw-r--r-- | libgfortran/io/unit.c | 2 |
3 files changed, 11 insertions, 3 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index c96826a..67bb9cc 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,12 @@ +2015-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR libgfortran/65596 + * io/transfer.c (data_transfer_init): If in namelist mode and + delimiter is not specified, set it to DELIM_QUOTE, independent + of -std. + * io/unit.c (init_units): Set flags.delim to the correct + initial value of DELIM_UNSPECIFIED. + 2015-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/65541 diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c index 3005a1f..7bbee21 100644 --- a/libgfortran/io/transfer.c +++ b/libgfortran/io/transfer.c @@ -2675,8 +2675,7 @@ data_transfer_init (st_parameter_dt *dtp, int read_flag) if (dtp->u.p.current_unit->delim_status == DELIM_UNSPECIFIED) { if (ionml && dtp->u.p.current_unit->flags.delim == DELIM_UNSPECIFIED) - dtp->u.p.current_unit->delim_status = - compile_options.allow_std & GFC_STD_GNU ? DELIM_QUOTE : DELIM_NONE; + dtp->u.p.current_unit->delim_status = DELIM_QUOTE; else dtp->u.p.current_unit->delim_status = dtp->u.p.current_unit->flags.delim; } diff --git a/libgfortran/io/unit.c b/libgfortran/io/unit.c index 687f507..d7e6dea 100644 --- a/libgfortran/io/unit.c +++ b/libgfortran/io/unit.c @@ -608,7 +608,7 @@ init_units (void) u->flags.position = POSITION_ASIS; u->flags.sign = SIGN_SUPPRESS; u->flags.decimal = DECIMAL_POINT; - u->flags.delim = DECIMAL_UNSPECIFIED; + u->flags.delim = DELIM_UNSPECIFIED; u->flags.encoding = ENCODING_DEFAULT; u->flags.async = ASYNC_NO; u->flags.round = ROUND_UNSPECIFIED; |