Avoid adding NULL vnodes to referenced tables.

Regstrapped on x86_64-linux-gnu.  Ok to install?


for  gcc/ChangeLog

        * varpool.c (symbol_table::remove_unreferenced_decls): Do not
        add NULL vnodes to referenced table.
---
 gcc/varpool.cc |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gcc/varpool.cc b/gcc/varpool.cc
index bfd17f1250cc0..ccbd6e50f4b01 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);
                }
            }

-- 
Alexandre Oliva, happy hacker                https://FSFLA.org/blogs/lxo/
   Free Software Activist                       GNU Toolchain Engineer
Disinformation flourishes because many people care deeply about injustice
but very few check the facts.  Ask me about <https://stallmansupport.org>

Reply via email to