This is the mail archive of the
mailing list for the GCC project.
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 8 Jun 2009 20:40:08 +0200
- Subject: PR debug/40126
the problem here is that dwarf2out is called to output abstract function but
somewho it manages to find declaration in location table and produce location
list for non-existent function.
It is obiovusly wrong to have decl_loc_table populated here, but I am not sure
where is proper place to free it. This patch just frees it at begging of
abstract function handling same wa as we free it at beggining of normal
* dwarf2out.c (dwarf2out_abstract_function): Free decl_loc_table.
*** dwarf2out.c (revision 148287)
--- dwarf2out.c (working copy)
*************** dwarf2out_abstract_function (tree decl)
*** 13792,13797 ****
--- 13792,13798 ----
/* Make sure we have the actual abstract inline, not a clone. */
decl = DECL_ORIGIN (decl);
+ htab_empty (decl_loc_table);
old_die = lookup_decl_die (decl);
if (old_die && get_AT (old_die, DW_AT_inline))