re PR middle-end/49062 (Many C++ tests ICE on Tru64 UNIX: non-DECL_ONE_ONLY node...
authorJan Hubicka <jh@suse.cz>
Wed, 25 May 2011 10:20:12 +0000 (12:20 +0200)
committerRainer Orth <ro@gcc.gnu.org>
Wed, 25 May 2011 10:20:12 +0000 (10:20 +0000)
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

gcc/ChangeLog
gcc/ipa.c

index a61c9a3a22dedcaab24580d371761b5234000986..7d5f8bd5f0b55a6be72fd03ac26083aee70d4a45 100644 (file)
@@ -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
index 9228f70edb3c99adb7449b482bb5f0142d4dcdfd..0ac325b5d0fc32608c5fcd4f3a833cc1f105fc15 100644 (file)
--- 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)