aboutsummaryrefslogtreecommitdiff
path: root/gcc/lto-symtab.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/lto-symtab.c')
-rw-r--r--gcc/lto-symtab.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/lto-symtab.c b/gcc/lto-symtab.c
index 659a68b..737c38b 100644
--- a/gcc/lto-symtab.c
+++ b/gcc/lto-symtab.c
@@ -532,11 +532,11 @@ lto_symtab_merge_cgraph_nodes_1 (symtab_node prevailing)
if (!symtab_real_symbol_p (e))
continue;
- if (symtab_function_p (e)
- && !DECL_BUILT_IN (e->symbol.decl))
- lto_cgraph_replace_node (cgraph (e), cgraph (prevailing));
- if (symtab_variable_p (e))
- lto_varpool_replace_node (varpool (e), varpool (prevailing));
+ cgraph_node *ce = dyn_cast <cgraph_node> (e);
+ if (ce && !DECL_BUILT_IN (e->symbol.decl))
+ lto_cgraph_replace_node (ce, cgraph (prevailing));
+ if (varpool_node *ve = dyn_cast <varpool_node> (e))
+ lto_varpool_replace_node (ve, varpool (prevailing));
}
return;