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;