aboutsummaryrefslogtreecommitdiff
path: root/gcc/symtab.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-09-02 23:44:35 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2013-09-02 21:44:35 +0000
commit8e4c9a109a46268407e01b8433892fcd7d2d8942 (patch)
tree317deda59d23dfd5d2381e6b2955d8f2f7bb28ff /gcc/symtab.c
parentc91061e6b0e1a5ce9484decc9aa208ce00a9af57 (diff)
downloadgcc-8e4c9a109a46268407e01b8433892fcd7d2d8942.zip
gcc-8e4c9a109a46268407e01b8433892fcd7d2d8942.tar.gz
gcc-8e4c9a109a46268407e01b8433892fcd7d2d8942.tar.bz2
lto-symtab.c (lto_symtab_merge_symbols): Add comments; merge duplicated nodes for assembler names.
* lto-symtab.c (lto_symtab_merge_symbols): Add comments; merge duplicated nodes for assembler names. * symtab.c (symtab_unregister_node): Do not attempt to unlink hard registers from assembler name hash. From-SVN: r202186
Diffstat (limited to 'gcc/symtab.c')
-rw-r--r--gcc/symtab.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/symtab.c b/gcc/symtab.c
index bfbc03b..253ba98 100644
--- a/gcc/symtab.c
+++ b/gcc/symtab.c
@@ -283,7 +283,8 @@ symtab_unregister_node (symtab_node node)
else
*slot = replacement_node;
}
- unlink_from_assembler_name_hash (node, false);
+ if (!is_a <varpool_node> (node) || !DECL_HARD_REGISTER (node->symbol.decl))
+ unlink_from_assembler_name_hash (node, false);
}
/* Return symbol table node associated with DECL, if any,