------- Comment #2 from burnus at gcc dot gnu dot org 2007-07-24 18:28 ------- Others cannot reproduce it (on i686 & x86_64), but here I can with gfortran-4.1 & 4.2 of SUSE, with the vanilla 4.2 and with 4.3.
The problem is for whatever reason the "&code->expr->where" argument to gfc_error(). In error_print the "loc" argument is not NULL, but loc->lb->* point to invalid locations, which gave an memory access error (segfault) in show_locus when accessing lb->file. 484 loc = va_arg (argp, locus *); 486 if (have_l1) (gdb) p loc $8 = (locus *) 0xfdc13a (gdb) p loc->lb $9 = (gfc_linebuf *) 0x610072616200736e (gdb) p loc->lb->file Cannot access memory at address 0x6100726162007376 (gdb) p loc->lb->line Cannot access memory at address 0x610072616200738a (gdb) p loc->lb->file Cannot access memory at address 0x6100726162007376 But no problem for others. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32884