re PR fortran/65596 (NAMELIST bug with f2003: reads too far)
authorJerry DeLisle <jvdelisle@gcc.gnu.org>
Sat, 28 Mar 2015 13:27:58 +0000 (13:27 +0000)
committerJerry DeLisle <jvdelisle@gcc.gnu.org>
Sat, 28 Mar 2015 13:27:58 +0000 (13:27 +0000)
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

libgfortran/ChangeLog
libgfortran/io/transfer.c
libgfortran/io/unit.c

index c96826a87748619986b44055314df6b43f440c0a..67bb9cce5e1d984ccd13e923832301f8dd7bc805 100644 (file)
@@ -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
index 3005a1f07b0ac5860581e58fdff15b6874dc383d..7bbee2131dd3e1078b51ace8d69ee12c41668ed8 100644 (file)
@@ -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;
     }
index 687f5076a5ba93fa8ce6e31bd5ef8a61a1282bc3..d7e6deacaf5b2413a0189be4bdbd5285464ab4f9 100644 (file)
@@ -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;