From: Jerry DeLisle Date: Sat, 28 Mar 2015 13:27:58 +0000 (+0000) Subject: re PR fortran/65596 (NAMELIST bug with f2003: reads too far) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d520fea881d6d6dc2b57e126651ec4711a3d0faa;p=gcc.git re PR fortran/65596 (NAMELIST bug with f2003: reads too far) 2015-03-28 Jerry DeLisle 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 --- diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index c96826a8774..67bb9cce5e1 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,12 @@ +2015-03-28 Jerry DeLisle + + 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 PR libgfortran/65541 diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c index 3005a1f07b0..7bbee2131dd 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 687f5076a5b..d7e6deacaf5 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;