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

--- Comment #3 from uecker at gcc dot gnu.org ---
diff --git a/gcc/c/c-typeck.cc b/gcc/c/c-typeck.cc
index aaf8e54416a..cfe72028c6d 100644
--- a/gcc/c/c-typeck.cc
+++ b/gcc/c/c-typeck.cc
@@ -1813,10 +1813,13 @@ tagged_types_tu_compatible_p (const_tree t1, const_tree
t2,
   t1 = c_type_original (t1);
   t2 = c_type_original (t2);
   gcc_checking_assert (!TYPE_NAME (t1)
-                      || TREE_CODE (TYPE_NAME (t1)) == IDENTIFIER_NODE);
+                      || TREE_CODE (TYPE_NAME (t1)) == IDENTIFIER_NODE
+                      || (TREE_CODE (TYPE_NAME (t1)) == TYPE_DECL
+                          && !DECL_NAME (TYPE_NAME (t1))));
   gcc_checking_assert (!TYPE_NAME (t2)
-                      || TREE_CODE (TYPE_NAME (t2)) == IDENTIFIER_NODE);
-
+                      || TREE_CODE (TYPE_NAME (t2)) == IDENTIFIER_NODE
+                      || (TREE_CODE (TYPE_NAME (t2)) == TYPE_DECL
+                          && !DECL_NAME (TYPE_NAME (t2))));
   if (TYPE_NAME (t1) != TYPE_NAME (t2))
     return false;

Reply via email to