This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libfortran/49791] [4.4/4.5/4.6/4.7 Regression] Formatted namelist reads fails with: Cannot match namelist object
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 20 Jul 2011 21:55:06 +0000
- Subject: [Bug libfortran/49791] [4.4/4.5/4.6/4.7 Regression] Formatted namelist reads fails with: Cannot match namelist object
- Auto-submitted: auto-generated
- References: <bug-49791-4@http.gcc.gnu.org/bugzilla/>
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