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 ());

Reply via email to