This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/33375] [4.3 Regression] ICE (segfault) gfortran.dg/common_6.f90
- 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: 10 Sep 2007 16:00:23 -0000
- Subject: [Bug fortran/33375] [4.3 Regression] ICE (segfault) gfortran.dg/common_6.f90
- References: <bug-33375-13404@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from burnus at gcc dot gnu dot org 2007-09-10 16:00 -------
Back to fortran; I was wrong. This is not a regression, but it occurred from
the beginning as valgrind shows. That it crashes is new, however.
More debugging; the line:
common /b/x/c/ ! { dg-error "Syntax error" }
is matched properly in gfc_match_common: sym->name is "x" and the typespec
looks ok as well.
However, in resolve_common_blocks:
for (csym = common_root->n.common->head; csym; csym = csym->common_next)
{
(gdb) p csym
$36 = (gfc_symbol *) 0xf475b0
(gdb) p sym->name
Cannot access memory at address 0x0
(gdb) p sym->ts
Cannot access memory at address 0x20
Thus something corrupts the symbol in between.
--
burnus at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|middle-end |fortran
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33375