This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gfc_array_range_type being garbage collected?


At 11:07 AM +0200 7/28/05, Steven Bosscher wrote:
On Thursday 28 July 2005 06:22, Asher Langton wrote:
Hi,

 I've come across a strange bug while preparing the Cray pointer patch
 for release.  In a large test program, I get an ICE due to
 gfc_array_range_type being overwritten prior to being used in
 gfc_get_array_type_bounds.  This only happens with a sufficiently
 large program, and it appears that gfc_array_range_type is being
 garbage collected:

 Hardware watchpoint 6: *1073909760
 (gdb) cont
   MAIN__ loctest ptrparms pteparm1 ptr1 ptr2 ptr3 ptr4 ptr5 ptr6 {GC
 5429k -> Hardware watchpoint 6: *1073909760

 Old value = 0
 New value = -1515870811
 0x001d9c77 in memset () from /lib/tls/libc.so.6

 This happens while translating a Cray pointee, but I don't think it's
 related; the same subroutine compiles and runs fine in a smaller
 program.  Does anybody have an idea what could be happening?

gfc_array_range_type is being garbage collected :-)


Try this patch.


Ah, thank you! I was testing some last minute changes to the Cray pointer patch, and ended up chasing this bug for hours. (The paperwork for the Cray pointer patch is now in order, so after I do a final bootstrap and make check, I'll post the patch here.)


-Asher



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]