aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2011-05-25 12:20:12 +0200
committerRainer Orth <ro@gcc.gnu.org>2011-05-25 10:20:12 +0000
commitc5235f4c0e40d0905a5183e6628ad0e08b836005 (patch)
treea77059ef99f1ab42ef0f4f368641e3c6093f55e0
parent8242a0f6216860781e2439116793183c41994cd8 (diff)
downloadgcc-c5235f4c0e40d0905a5183e6628ad0e08b836005.zip
gcc-c5235f4c0e40d0905a5183e6628ad0e08b836005.tar.gz
gcc-c5235f4c0e40d0905a5183e6628ad0e08b836005.tar.bz2
re PR middle-end/49062 (Many C++ tests ICE on Tru64 UNIX: non-DECL_ONE_ONLY node in a same_comdat_group list)
2011-05-25 Jan Hubicka <jh@suse.cz> PR middle-end/49062 * ipa.c (function_and_variable_visibility): Only add to same comdat group list if DECL_ONE_ONLY. From-SVN: r174180
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/ipa.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a61c9a3..7d5f8bd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-05-25 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/49062
+ * ipa.c (function_and_variable_visibility): Only add to same
+ comdat group list if DECL_ONE_ONLY.
+
2011-05-25 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/49014
diff --git a/gcc/ipa.c b/gcc/ipa.c
index 9228f70..0ac325b 100644
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -897,7 +897,7 @@ function_and_variable_visibility (bool whole_program)
{
DECL_COMDAT (node->decl) = 1;
DECL_COMDAT_GROUP (node->decl) = DECL_COMDAT_GROUP (decl_node->decl);
- if (!node->same_comdat_group)
+ if (DECL_ONE_ONLY (decl_node->decl) && !node->same_comdat_group)
{
node->same_comdat_group = decl_node;
if (!decl_node->same_comdat_group)