------- Comment #36 from rguenth at gcc dot gnu dot org 2009-07-24 10:24 ------- With the newest whole-file patch I instead get
#1 0x087a1c89 in tree_check_failed (node=0xb6e9fcb0, file=0x8b9d398 "/home/richard/src/trunk/gcc/fortran/trans-types.c", line=2010, function=0x8b9da9d "gfc_get_derived_type") at /home/richard/src/trunk/gcc/tree.c:7460 7460 internal_error ("tree check: %s, have %s in %s, at %s:%d", (gdb) #2 0x081e2850 in gfc_get_derived_type (derived=0x136519f0) at /home/richard/src/trunk/gcc/fortran/trans-types.c:2010 2010 if (TYPE_FIELDS (derived->backend_decl)) with derived->backend_decl looking like random crap. (in fact it seems to be GC collected memory, all 0xa5a5a5a5). All of gfortran.h seems to be ignorant of the GC - which means we may not garbage collect while the FE is still running, so all calls to cgraph_finalize_function should have true as their 2nd argument. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40011