re PR c++/80763 (-O3 causes error: inline clone in same comdat group list)
authorJan Hubicka <hubicka@ucw.cz>
Tue, 9 Jan 2018 08:22:28 +0000 (09:22 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Tue, 9 Jan 2018 08:22:28 +0000 (08:22 +0000)
PR ipa/80763
* ipa-comdats.c (set_comdat_group): Only set comdat group of real
symbols; not inline clones.

From-SVN: r256369

gcc/ChangeLog
gcc/ipa-comdats.c

index 084b0d7e7c81ffad0626b188bc22acc25496ea93..54703e9531628dc74824fa9b1fed5fe7524cb16f 100644 (file)
@@ -1,3 +1,9 @@
+2018-01-09  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/80763
+       * ipa-comdats.c (set_comdat_group): Only set comdat group of real
+       symbols; not inline clones.
+
 2018-01-09  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/83507
index 1940d9d62f5cddb36769307e258409df2d039265..243756ab0b87e2be109b8ce912b8e1bf308b3455 100644 (file)
@@ -211,8 +211,11 @@ set_comdat_group (symtab_node *symbol,
   symtab_node *head = (symtab_node *)head_p;
 
   gcc_assert (!symbol->get_comdat_group ());
-  symbol->set_comdat_group (head->get_comdat_group ());
-  symbol->add_to_same_comdat_group (head);
+  if (symbol->real_symbol_p ())
+    {
+      symbol->set_comdat_group (head->get_comdat_group ());
+      symbol->add_to_same_comdat_group (head);
+    }
   return false;
 }