summaryrefslogtreecommitdiff
path: root/gcc/symtab.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2015-12-08 22:00:55 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2015-12-08 22:00:55 +0000
commit10dd05992c343efcd01accf7975ccfcc17318001 (patch)
tree9e812c5cc3b234722834990858655f4d3e1fe90c /gcc/symtab.c
parent48effc50e0d62426ed61e974118bf2d665619fa8 (diff)
downloadgcc-10dd05992c343efcd01accf7975ccfcc17318001.tar.gz
PR ipa/61886
* symtab.c (symtab_node::verify_base): Fix thinko in a conditional. (symtab_node::noninterposable_alias): Do not accept transparent aliases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231427 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/symtab.c')
-rw-r--r--gcc/symtab.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/symtab.c b/gcc/symtab.c
index 06d618bb3b4..a9a0ab64cf9 100644
--- a/gcc/symtab.c
+++ b/gcc/symtab.c
@@ -1005,7 +1005,7 @@ symtab_node::verify_base (void)
}
if (!hashed_node
&& !(is_a <varpool_node *> (this)
- || DECL_HARD_REGISTER (decl)))
+ && DECL_HARD_REGISTER (decl)))
{
error ("node not found in symtab assembler name hash");
error_found = true;
@@ -1637,7 +1637,7 @@ symtab_node::resolve_alias (symtab_node *target, bool transparent)
bool
symtab_node::noninterposable_alias (symtab_node *node, void *data)
{
- if (decl_binds_to_current_def_p (node->decl))
+ if (!node->transparent_alias && decl_binds_to_current_def_p (node->decl))
{
symtab_node *fn = node->ultimate_alias_target ();