------- 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

Reply via email to