https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68851

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Still reducing. But Martin emailed me a patch, that fixes the issue:

diff --git a/gcc/ipa-comdats.c b/gcc/ipa-comdats.c
index 3aabd71..f7a6ff4 100644
--- a/gcc/ipa-comdats.c
+++ b/gcc/ipa-comdats.c
@@ -210,7 +210,12 @@ set_comdat_group (symtab_node *symbol,
 {
   symtab_node *head = (symtab_node *)head_p;

-  gcc_assert (!symbol->get_comdat_group ());
+  if (symbol->get_comdat_group ())
+    {
+      gcc_assert (symbol->get_comdat_group () == head->get_comdat_group ());
+      return false;
+    }
+
   symbol->set_comdat_group (head->get_comdat_group ());
   symbol->add_to_same_comdat_group (head);
   return false;

Reply via email to