[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2019-12-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36582

Jonathan Wakely  changed:

   What|Removed |Added

  Known to fail||

--- Comment #20 from Jonathan Wakely  ---
(In reply to Jerry DeLisle from comment #16)
> I did commit these fixes but reversed two digits in the PR number in the
> change log so they did not record here.  Fix follows.

The relevant commits where r138072 and r138073, and r138170 and r138172.

[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-08-09 Thread jvdelisle at gcc dot gnu dot org


--- Comment #19 from jvdelisle at gcc dot gnu dot org  2008-08-09 19:19 
---
Closing


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-08-09 Thread jvdelisle at gcc dot gnu dot org


--- Comment #18 from jvdelisle at gcc dot gnu dot org  2008-08-09 19:18 
---
Subject: Bug 36582

Author: jvdelisle
Date: Sat Aug  9 19:17:24 2008
New Revision: 138914

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=138914
Log:
2008-07-22  Jerry DeLisle  <[EMAIL PROTECTED]>

PR fortran/36582
* io/list_read.c: If variable rank is zero, do not adjust the found
namelist object pointer. Fix ChangeLog.

Modified:
trunk/libgfortran/ChangeLog


-- 


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-08-09 Thread jvdelisle at gcc dot gnu dot org


--- Comment #17 from jvdelisle at gcc dot gnu dot org  2008-08-09 19:13 
---
Subject: Bug 36582

Author: jvdelisle
Date: Sat Aug  9 19:12:04 2008
New Revision: 138913

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=138913
Log:
2008-07-26  Jerry DeLisle  <[EMAIL PROTECTED]>

PR fortran/36582
Backport from trunk.  Fix ChangeLog.
* io/list_read.c: If variable rank is zero, do not adjust the found
namelist object pointer.

Modified:
branches/gcc-4_3-branch/libgfortran/ChangeLog


-- 


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-08-09 Thread jvdelisle at gcc dot gnu dot org


--- Comment #16 from jvdelisle at gcc dot gnu dot org  2008-08-09 19:05 
---
I did commit these fixes but reversed two digits in the PR number in the change
log so they did not record here.  Fix follows.


-- 


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-08-08 Thread jvdelisle at gcc dot gnu dot org


--- Comment #15 from jvdelisle at gcc dot gnu dot org  2008-08-09 05:20 
---
I was holding this open until I back port to 4.3.  I got too busy on other
stuff, so I will try this weekend.


-- 


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-08-08 Thread jv244 at cam dot ac dot uk


--- Comment #14 from jv244 at cam dot ac dot uk  2008-08-08 22:27 ---
This appears fixed on current trunk, should the bug be closed.


-- 

jv244 at cam dot ac dot uk changed:

   What|Removed |Added

  Known to fail|4.1.3 4.2.1 4.3.1 4.4.0 |4.1.3 4.2.1 4.3.1
  Known to work||4.4.0


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-07-22 Thread fmuldoo at me dot lsu dot edu


--- Comment #13 from fmuldoo at me dot lsu dot edu  2008-07-22 22:54 ---
Subject: Re:  Namelist I/O error: Bogus "Cannot match
namelist object"

Great, and thanks very much.  I'm very glad you found it as it is the
only thing preventing me from using gfortran with my code.  This is the
first time I have reported anything here and do not know the procedure
of how fixes such as this make it into packages that one can download.

Thanks again,
Frank


On Tue, 2008-07-22 at 05:02 +, jvdelisle at gcc dot gnu dot org
wrote:
> 
> --- Comment #12 from jvdelisle at gcc dot gnu dot org  2008-07-22 05:02 
> ---
> Finally had some quiet time to pick at this.  Yep, a one liner.  This fixes 
> the
> test case and no namelist regressions.
> 
> Index: list_read.c
> ===
> --- list_read.c (revision 138020)
> +++ list_read.c (working copy)
> @@ -2791,7 +2791,7 @@ get_name:
> 
>if (nl->type == GFC_DTYPE_DERIVED)
>  nml_touch_nodes (nl);
> -  if (component_flag)
> +  if (component_flag && nl->var_rank > 0)
>  nl = first_nl;
> 
>/* Make sure no extraneous qualifiers are there.  */
> 
> 


-- 


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-07-21 Thread jvdelisle at gcc dot gnu dot org


--- Comment #12 from jvdelisle at gcc dot gnu dot org  2008-07-22 05:02 
---
Finally had some quiet time to pick at this.  Yep, a one liner.  This fixes the
test case and no namelist regressions.

Index: list_read.c
===
--- list_read.c (revision 138020)
+++ list_read.c (working copy)
@@ -2791,7 +2791,7 @@ get_name:

   if (nl->type == GFC_DTYPE_DERIVED)
 nml_touch_nodes (nl);
-  if (component_flag)
+  if (component_flag && nl->var_rank > 0)
 nl = first_nl;

   /* Make sure no extraneous qualifiers are there.  */


-- 


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-07-08 Thread jvdelisle at gcc dot gnu dot org


--- Comment #11 from jvdelisle at gcc dot gnu dot org  2008-07-08 15:52 
---
So far this is a tricky one.  Probably turn out to be a one liner or a
re-write.  :)  Status is I am on travel, but still working it.


-- 


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-06-21 Thread jvdelisle at gcc dot gnu dot org


--- Comment #10 from jvdelisle at gcc dot gnu dot org  2008-06-22 05:52 
---
Correction, the IF clause is not relevant.

Index: libgfortran/io/list_read.c
===
--- libgfortran/io/list_read.c  (revision 136998)
+++ libgfortran/io/list_read.c  (working copy)
@@ -2649,7 +2649,7 @@ get_name:
   if (!is_separator (c))
push_char (dtp, tolower(c));
   c = next_char (dtp);
-} while (!( c=='=' || c==' ' || c=='\t' || c =='(' || c =='%' ));
+} while (!( c=='=' || c==' ' || c=='\t' || c =='(' ));

   unget_char (dtp, c);



-- 


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-06-21 Thread jvdelisle at gcc dot gnu dot org


--- Comment #9 from jvdelisle at gcc dot gnu dot org  2008-06-22 05:50 
---
This patch fixes the test case and requires adjustment to namelist_40.f90 and
namelist_47.f90.  I am not completely satisfied with this because it leaves us
a less informative error message in those two test cases.  I will explore a bit
more.

Index: libgfortran/io/list_read.c
===
--- libgfortran/io/list_read.c  (revision 136998)
+++ libgfortran/io/list_read.c  (working copy)
@@ -2649,7 +2649,10 @@ get_name:
   if (!is_separator (c))
push_char (dtp, tolower(c));
   c = next_char (dtp);
-} while (!( c=='=' || c==' ' || c=='\t' || c =='(' || c =='%' ));
+} while (!( c=='=' || c==' ' || c=='\t' || c =='(' ));
+
+  if (c == '%')
+push_char (dtp, c);

   unget_char (dtp, c);



-- 


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-06-21 Thread jvdelisle at gcc dot gnu dot org


--- Comment #8 from jvdelisle at gcc dot gnu dot org  2008-06-21 16:38 
---
Status: I have started investigating this bug.  It is not typical in the sense
that the last several namelist bugs involved parsing and whitespace issues. 
With this bug, we appear to end up with a namelist object whose name is '\0'. I
am only just getting started, so more later.


-- 


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-06-21 Thread fmuldoo at me dot lsu dot edu


--- Comment #7 from fmuldoo at me dot lsu dot edu  2008-06-21 08:47 ---
Subject: Re:  Namelist I/O error: Bogus "Cannot match
namelist object"

Hello Burnus,

Thanks for explaining that to me.  It is clear now.

Regards,
Frank

On Sat, 2008-06-21 at 08:32 +, burnus at gcc dot gnu dot org wrote:
> 
> --- Comment #6 from burnus at gcc dot gnu dot org  2008-06-21 08:32 
> ---
> > I am not sure what is meant by "regression".
> 
> Regression means that it used to work in a previous version of gfortran and
> someone managed to break it. This is especially bad as code which worked 
> before
> then stops working. This is the reason why all Priority 1 (and possibly P2)
> regressions need to be fixed or downgraded before any new GCC release is done.
> 
> Regressions are also the only bugs which may be fixed for minor releases (e.g.
> for the next 4.3.x version), though exceptions are made for serious bugs
> especially if the fix is algorithmically simple. (Otherwise not as by fixing
> one thing, one might create another bug -> a regression.)
> 
> > Am I correct in assuming that you do not regard it as an error?
> 
> No, if it is valid (ISO standard) Fortran then we definitely want to fix it.
> (If it is a vendor extension, we only might fix it.) In your case it seems to
> be valid Fortran and I believe it will be fixed soonish, though possibly only
> for GCC 4.4.0 and not for 4.3.2 [or 4.2.x].
> 
> 


-- 


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-06-21 Thread burnus at gcc dot gnu dot org


--- Comment #6 from burnus at gcc dot gnu dot org  2008-06-21 08:32 ---
> I am not sure what is meant by "regression".

Regression means that it used to work in a previous version of gfortran and
someone managed to break it. This is especially bad as code which worked before
then stops working. This is the reason why all Priority 1 (and possibly P2)
regressions need to be fixed or downgraded before any new GCC release is done.

Regressions are also the only bugs which may be fixed for minor releases (e.g.
for the next 4.3.x version), though exceptions are made for serious bugs
especially if the fix is algorithmically simple. (Otherwise not as by fixing
one thing, one might create another bug -> a regression.)

> Am I correct in assuming that you do not regard it as an error?

No, if it is valid (ISO standard) Fortran then we definitely want to fix it.
(If it is a vendor extension, we only might fix it.) In your case it seems to
be valid Fortran and I believe it will be fixed soonish, though possibly only
for GCC 4.4.0 and not for 4.3.2 [or 4.2.x].


-- 


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-06-20 Thread jvdelisle at gcc dot gnu dot org


--- Comment #5 from jvdelisle at gcc dot gnu dot org  2008-06-20 13:37 
---
I will take a shot at this one.


-- 

jvdelisle at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jvdelisle at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2008-06-20 12:27:53 |2008-06-20 13:37:07
   date||


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-06-20 Thread aldot at gcc dot gnu dot org


--- Comment #4 from aldot at gcc dot gnu dot org  2008-06-20 13:33 ---
(In reply to comment #3)
> Subject: Re:  Namelist I/O error: Bogus "Cannot match
> namelist object"
> 
> Hello,
> 
> I am not sure what is meant by "regression".  Am I correct in assuming
> that you do not regard it as an error?
> 
> Regards,
> Frank
> 
> On Fri, 2008-06-20 at 12:27 +, burnus at gcc dot gnu dot org wrote:
> > 
> > --- Comment #2 from burnus at gcc dot gnu dot org  2008-06-20 12:27 
> > ---
> > CONFIRM. The read file contains (see comments in the attached file):
> > 
> > &info_adjoint  adjoint%solver_type='direct'/
> > 
> > Fortran runtime error: Cannot match namelist object name 'direct'
> > 
> > The file works with other F95 compilers and is thus presumably valid; 
however,
> > it is no regression.

Frank, a regression is something that worked before but does no longer work.
Tobias said that it is presumably valid code and that it does not work (but
never did with gfortran).


-- 


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-06-20 Thread fmuldoo at me dot lsu dot edu


--- Comment #3 from fmuldoo at me dot lsu dot edu  2008-06-20 12:32 ---
Subject: Re:  Namelist I/O error: Bogus "Cannot match
namelist object"

Hello,

I am not sure what is meant by "regression".  Am I correct in assuming
that you do not regard it as an error?

Regards,
Frank

On Fri, 2008-06-20 at 12:27 +, burnus at gcc dot gnu dot org wrote:
> 
> --- Comment #2 from burnus at gcc dot gnu dot org  2008-06-20 12:27 
> ---
> CONFIRM. The read file contains (see comments in the attached file):
> 
> &info_adjoint  adjoint%solver_type='direct'/
> 
> Fortran runtime error: Cannot match namelist object name 'direct'
> 
> The file works with other F95 compilers and is thus presumably valid; however,
> it is no regression.
> 
> 


-- 


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



[Bug fortran/36582] Namelist I/O error: Bogus "Cannot match namelist object"

2008-06-20 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2008-06-20 12:27 ---
CONFIRM. The read file contains (see comments in the attached file):

&info_adjoint  adjoint%solver_type='direct'/

Fortran runtime error: Cannot match namelist object name 'direct'

The file works with other F95 compilers and is thus presumably valid; however,
it is no regression.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jvdelisle at gcc dot gnu dot
   ||org
   Severity|blocker |normal
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||wrong-code
  Known to fail||4.1.3 4.2.1 4.3.1 4.4.0
   Last reconfirmed|-00-00 00:00:00 |2008-06-20 12:27:53
   date||
Summary|Namelist error  |Namelist I/O error: Bogus
   ||"Cannot match namelist
   ||object"


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