diff options
Diffstat (limited to 'gcc/symtab.c')
-rw-r--r-- | gcc/symtab.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/symtab.c b/gcc/symtab.c index 96771315628..a65249cdf21 100644 --- a/gcc/symtab.c +++ b/gcc/symtab.c @@ -312,8 +312,8 @@ symtab_node::register_symbol (void) { symtab->register_symbol (this); - if (!decl->decl_with_vis.symtab_node) - decl->decl_with_vis.symtab_node = this; + if (!DECL_SYMTAB_NODE (decl)) + DECL_SYMTAB_NODE (decl) = this; ref_list.clear (); @@ -361,13 +361,13 @@ symtab_node::unregister (void) /* During LTO symtab merging we temporarily corrupt decl to symtab node hash. */ - gcc_assert (decl->decl_with_vis.symtab_node || in_lto_p); - if (decl->decl_with_vis.symtab_node == this) + gcc_assert (DECL_SYMTAB_NODE (decl) || in_lto_p); + if (DECL_SYMTAB_NODE (decl) == this) { symtab_node *replacement_node = NULL; if (cgraph_node *cnode = dyn_cast <cgraph_node *> (this)) replacement_node = cnode->find_replacement (); - decl->decl_with_vis.symtab_node = replacement_node; + DECL_SYMTAB_NODE (decl) = replacement_node; } if (!is_a <varpool_node *> (this) || !DECL_HARD_REGISTER (decl)) symtab->unlink_from_assembler_name_hash (this, false); |