aboutsummaryrefslogtreecommitdiff
path: root/gcc/lto-symtab.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-09-25 15:06:17 +0000
committerRichard Guenther <rguenther@suse.de>2012-09-25 15:06:17 +0000
commitff6e40db4905e16c3b1148b7cc7b19705ef6c6fe (patch)
treec1268baf0d7ee1643db24c4b9a6fa78918fc172a /gcc/lto-symtab.c
parent22ec3641f304d3ed70e4ece82e75c3a15dbc29b6 (diff)
2012-09-25 Richard Guenther <rguenther@suse.de>
PR lto/54625 * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Do not merge cgraph nodes for builtins. * gcc.dg/lto/pr54702_0.c: New testcase. * gcc.dg/lto/pr54702_1.c: Likewise. * gcc.dg/lto/pr54625-1_0.c: Likewise. * gcc.dg/lto/pr54625-1_1.C: Likewise. * gcc.dg/lto/pr54625-2_0.c: Likewise. * gcc.dg/lto/pr54625-2_1.C: Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@191713 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lto-symtab.c')
-rw-r--r--gcc/lto-symtab.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/lto-symtab.c b/gcc/lto-symtab.c
index ae73ad448fb..a8a46575ba5 100644
--- a/gcc/lto-symtab.c
+++ b/gcc/lto-symtab.c
@@ -629,7 +629,8 @@ lto_symtab_merge_cgraph_nodes_1 (symtab_node prevailing)
if (!symtab_real_symbol_p (e))
continue;
- if (symtab_function_p (e))
+ 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));