Hi,
this completes my fix for PR debug/101947 by emptying the base_types vector
before (re)populating it.
Tested on x86_64-suse-linux, OK for the mainline?
2022-02-04 Eric Botcazou <ebotca...@adacore.com>
PR debug/104366
* dwarf2out.cc (dwarf2out_finish): Empty base_types.
(dwarf2out_early_finish): Likewise.
--
Eric Botcazou
diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc
index e60575b1398..d1e8654e4d7 100644
--- a/gcc/dwarf2out.cc
+++ b/gcc/dwarf2out.cc
@@ -32155,6 +32155,7 @@ dwarf2out_finish (const char *filename)
FOR_EACH_CHILD (die, c, gcc_assert (! c->die_mark));
}
#endif
+ base_types.truncate (0);
for (ctnode = comdat_type_list; ctnode != NULL; ctnode = ctnode->next)
resolve_addr (ctnode->root_die);
resolve_addr (comp_unit_die ());
@@ -32999,6 +33000,7 @@ dwarf2out_early_finish (const char *filename)
location related output removed and some LTO specific changes.
Some refactoring might make both smaller and easier to match up. */
+ base_types.truncate (0);
for (ctnode = comdat_type_list; ctnode != NULL; ctnode = ctnode->next)
mark_base_types (ctnode->root_die);
mark_base_types (comp_unit_die ());