------- Comment #3 from dominiq at lps dot ens dot fr 2008-01-19 19:47 ------- Further debug:
Breakpoint 2, resolve_common_blocks (common_root=0x40d02c50) at ../../gcc-4.3-work/gcc/fortran/resolve.c:692 692 { (gdb) c Continuing. Breakpoint 3, resolve_common_vars (sym=0x40d06f50, named_common=1 '\001') at ../../gcc-4.3-work/gcc/fortran/resolve.c:652 652 { (gdb) c Continuing. Breakpoint 4, resolve_common_vars (sym=0x40d06f50, named_common=1 '\001') at ../../gcc-4.3-work/gcc/fortran/resolve.c:655 655 for (; csym; csym = csym->common_next) (gdb) print csym $11 = <value temporarily unavailable, due to optimizations> (gdb) print csym->common_next Cannot access memory at address 0x64 and Breakpoint 3, resolve_common_vars (sym=0x40d06f50, named_common=1 '\001') at ../../gcc-4.3-work/gcc/fortran/resolve.c:652 652 { (gdb) print csym $15 = <value temporarily unavailable, due to optimizations> (gdb) print csym->common_next Cannot access memory at address 0x64 (gdb) print sym->common_next $16 = (struct gfc_symbol *) 0xc0000003 (gdb) print sym->common_next->common_next Cannot access memory at address 0xc0000067 So it seems that the list in "common_root->n.common->head" is not properly terminated. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34858