------- Comment #7 from davek at gcc dot gnu dot org 2009-09-19 10:44 -------
Was off-by-one on the rtx, it's actually "ret" not "goto".
The refcount of the indirect_string_node goes to zero here, in
prune_unused_types_walk_attribs():
(gdb) c
Continuing.
Hardware watchpoint 5: ((struct indirect_string_node *) 2123651344)->refcount
Old value = 2
New value = 0
prune_unused_types_walk_attribs (die=0x7eec09d8)
at /gnu/gcc/gcc-unpatched/gcc/dwarf2out.c:18314
18314 for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
(gdb) bt
#0 prune_unused_types_walk_attribs (die=0x7eec09d8)
at /gnu/gcc/gcc-unpatched/gcc/dwarf2out.c:18314
#1 0x007cf108 in prune_unused_types_walk (die=0x7eec09d8)
at /gnu/gcc/gcc-unpatched/gcc/dwarf2out.c:18472
#2 0x007cf135 in prune_unused_types_walk (die=0x7eec0690)
at /gnu/gcc/gcc-unpatched/gcc/dwarf2out.c:18478
#3 0x007cf135 in prune_unused_types_walk (die=0x7fcb3f00)
at /gnu/gcc/gcc-unpatched/gcc/dwarf2out.c:18478
#4 0x007cf38c in prune_unused_types ()
at /gnu/gcc/gcc-unpatched/gcc/dwarf2out.c:18579
#5 0x007cfc45 in dwarf2out_finish (
filename=0x80b5288 "/gnu/gcc/gcc-unpatched/gcc/java/expr.c")
at /gnu/gcc/gcc-unpatched/gcc/dwarf2out.c:18758
#6 0x00db0d32 in compile_file () at /gnu/gcc/gcc-unpatched/gcc/toplev.c:1080
#7 0x00db2cbe in do_compile () at /gnu/gcc/gcc-unpatched/gcc/toplev.c:2382
#8 0x00db2d8c in toplev_main (argc=30, argv=0x8079df0)
at /gnu/gcc/gcc-unpatched/gcc/toplev.c:2424
#9 0x006281ed in main (argc=30, argv=0x8079df0)
at /gnu/gcc/gcc-unpatched/gcc/main.c:35
(gdb)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41404