http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49791

--- Comment #8 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-07-20 
21:53:42 UTC ---
(In reply to comment #1)
> URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=165979
>     PR libgfortran/46010

The problem is that "dtp->u.p.ionml->touched" becomes 0 (initially it is 1)
such that one stops the expanded_read.

It seems as if the issue of this PR is solved - without causing test-suite
regressions -, if one removes that check while keeping the line for BT_DERIVED.
(I am currently testing the whole test suite; however, all namelist*.* tests
already succeeded.)

Jerry what do you think? I have to admit that I have not the slightest idea
what ionml->touched does - thus, I cannot come up of a possibly failing
namelist.

--- a/libgfortran/io/list_read.c
+++ b/libgfortran/io/list_read.c
@@ -2213,7 +2213,6 @@ nml_parse_qualifier (st_parameter_dt *dtp,
descriptor_dimension *ad,
                      do not allow excess data to be processed.  */
                  if (is_array_section == 1
                      || !(compile_options.allow_std & GFC_STD_GNU)
-                     || !dtp->u.p.ionml->touched
                      || dtp->u.p.ionml->type == BT_DERIVED)
                    ls[dim].end = ls[dim].start;
                  else

Reply via email to