diff options
Diffstat (limited to 'gcc/lto-symtab.c')
-rw-r--r-- | gcc/lto-symtab.c | 10 |
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; |