aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexandre Oliva <oliva@adacore.com>2022-12-29 14:32:48 -0300
committerAlexandre Oliva <oliva@gnu.org>2022-12-29 14:32:48 -0300
commit50a0270389925e0b3d82b025d48f702fdab542f6 (patch)
tree5a96f46a823c1b6c501c9e0e159b8f8b20be2283 /gcc
parent26be8b84603be48d1cf35bea3be2bb398f7964b7 (diff)
downloadgcc-50a0270389925e0b3d82b025d48f702fdab542f6.zip
gcc-50a0270389925e0b3d82b025d48f702fdab542f6.tar.gz
gcc-50a0270389925e0b3d82b025d48f702fdab542f6.tar.bz2
varpool: do not add NULL vnodes to referenced
Avoid adding NULL vnodes to referenced tables. for gcc/ChangeLog * varpool.cc (symbol_table::remove_unreferenced_decls): Do not add NULL vnodes to referenced table.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/varpool.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/varpool.cc b/gcc/varpool.cc
index bfd17f1..ccbd6e5 100644
--- a/gcc/varpool.cc
+++ b/gcc/varpool.cc
@@ -680,10 +680,12 @@ symbol_table::remove_unreferenced_decls (void)
enqueue_node (vnode, &first);
else
{
- referenced.add (vnode);
+ if (vnode)
+ referenced.add (vnode);
while (vnode && vnode->alias && vnode->definition)
{
vnode = vnode->get_alias_target ();
+ gcc_checking_assert (vnode);
referenced.add (vnode);
}
}