From 9142736ee21629b159504a474f686cabb1612579 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 10 Oct 2019 09:56:35 +0000 Subject: [PATCH] lto-common.c (unify_scc): Do not merge anonymous NAMESPACE_DECLs. 2019-10-10 Richard Biener * lto-common.c (unify_scc): Do not merge anonymous NAMESPACE_DECLs. From-SVN: r276796 --- gcc/lto/ChangeLog | 4 ++++ gcc/lto/lto-common.c | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index e4102320795..393e1c1c550 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,7 @@ +2019-10-10 Richard Biener + + * lto-common.c (unify_scc): Do not merge anonymous NAMESPACE_DECLs. + 2019-10-04 Joseph Myers * lto-lang.c (flag_isoc2x): New variable. diff --git a/gcc/lto/lto-common.c b/gcc/lto/lto-common.c index 9a17933d094..e5c15f2b844 100644 --- a/gcc/lto/lto-common.c +++ b/gcc/lto/lto-common.c @@ -1646,11 +1646,13 @@ unify_scc (class data_in *data_in, unsigned from, tree t = streamer_tree_cache_get_tree (cache, from + i); scc->entries[i] = t; /* Do not merge SCCs with local entities inside them. Also do - not merge TRANSLATION_UNIT_DECLs and anonymous namespace types. */ + not merge TRANSLATION_UNIT_DECLs and anonymous namespaces + and types therein types. */ if (TREE_CODE (t) == TRANSLATION_UNIT_DECL || (VAR_OR_FUNCTION_DECL_P (t) && !(TREE_PUBLIC (t) || DECL_EXTERNAL (t))) || TREE_CODE (t) == LABEL_DECL + || (TREE_CODE (t) == NAMESPACE_DECL && !DECL_NAME (t)) || (TYPE_P (t) && type_with_linkage_p (TYPE_MAIN_VARIANT (t)) && type_in_anonymous_namespace_p (TYPE_MAIN_VARIANT (t)))) -- 2.30.2