[gcc r12-7049] Empty the base_types vector before (re)populating it
Eric Botcazou
ebotcazou@gcc.gnu.org
Fri Feb 4 11:10:18 GMT 2022
https://gcc.gnu.org/g:38948b77dbc16f4c6cf6cff8661bab699b306f03
commit r12-7049-g38948b77dbc16f4c6cf6cff8661bab699b306f03
Author: Eric Botcazou <ebotcazou@adacore.com>
Date: Fri Feb 4 12:07:46 2022 +0100
Empty the base_types vector before (re)populating it
Otherwise Bad Things happen when it is populated several times.
gcc/
PR debug/104366
* dwarf2out.cc (dwarf2out_finish): Empty base_types.
(dwarf2out_early_finish): Likewise.
Diff:
---
gcc/dwarf2out.cc | 2 ++
1 file changed, 2 insertions(+)
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 ());
More information about the Gcc-cvs
mailing list