Commit d520fea8 by Jerry DeLisle

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
parent 85b237bb
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> 2015-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/65541 PR libgfortran/65541
......
...@@ -2675,8 +2675,7 @@ data_transfer_init (st_parameter_dt *dtp, int read_flag) ...@@ -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 (dtp->u.p.current_unit->delim_status == DELIM_UNSPECIFIED)
{ {
if (ionml && dtp->u.p.current_unit->flags.delim == DELIM_UNSPECIFIED) if (ionml && dtp->u.p.current_unit->flags.delim == DELIM_UNSPECIFIED)
dtp->u.p.current_unit->delim_status = dtp->u.p.current_unit->delim_status = DELIM_QUOTE;
compile_options.allow_std & GFC_STD_GNU ? DELIM_QUOTE : DELIM_NONE;
else else
dtp->u.p.current_unit->delim_status = dtp->u.p.current_unit->flags.delim; dtp->u.p.current_unit->delim_status = dtp->u.p.current_unit->flags.delim;
} }
......
...@@ -608,7 +608,7 @@ init_units (void) ...@@ -608,7 +608,7 @@ init_units (void)
u->flags.position = POSITION_ASIS; u->flags.position = POSITION_ASIS;
u->flags.sign = SIGN_SUPPRESS; u->flags.sign = SIGN_SUPPRESS;
u->flags.decimal = DECIMAL_POINT; u->flags.decimal = DECIMAL_POINT;
u->flags.delim = DECIMAL_UNSPECIFIED; u->flags.delim = DELIM_UNSPECIFIED;
u->flags.encoding = ENCODING_DEFAULT; u->flags.encoding = ENCODING_DEFAULT;
u->flags.async = ASYNC_NO; u->flags.async = ASYNC_NO;
u->flags.round = ROUND_UNSPECIFIED; u->flags.round = ROUND_UNSPECIFIED;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment