This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/34858] [4.3 Regression] ICE on invalid depending of the length of the source name
- From: "burnus at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 19 Jan 2008 20:49:48 -0000
- Subject: [Bug fortran/34858] [4.3 Regression] ICE on invalid depending of the length of the source name
- References: <bug-34858-12313@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from burnus at gcc dot gnu dot org 2008-01-19 20:49 -------
I can reproduce it on x86-64-linux. The first error valgrind shows is
==25404== Invalid read of size 8
==25404== at 0x44361B: gfc_match_common (match.c:2756)
==25404== by 0x4522B9: match_word (parse.c:64)
That line is:
while (old_blank_common->common_next)
The problem is essentially the same as for PR 33375: We have a half-deleted
symbol somewhere. I believe the right spot is gfc_match_common; somewhere the
error recovery does not properly delete a symbol or forgets a pointer = NULL.
When trying to debug PR 33375 I never quite understood why it was failing. I
had also the feeling that the patch in PR 33375 might not be fully right. My
starting point would be gfc_match_common either with the current tree or with
the patch of PR 33375 reverted.
--
burnus at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
GCC build triplet|i686-apple-darwin9 |
GCC host triplet|i686-apple-darwin9 |
GCC target triplet|i686-apple-darwin9 |
Last reconfirmed|0000-00-00 00:00:00 |2008-01-19 20:49:48
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34858