https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87843
--- Comment #15 from Richard Biener <rguenth at gcc dot gnu.org> ---
But the following fixes it:
diff --git a/gcc/alias.c b/gcc/alias.c
index 7963ece291a..4c88c0980d3 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -1235,14 +1235,14 @@ record_component_aliases (tree type)
Accesses to it conflicts with accesses to any other pointer
type. */
tree t = TREE_TYPE (field);
- if (in_lto_p)
+ if (1)
{
/* VECTOR_TYPE and ARRAY_TYPE share the alias set with their
element type and that type has to be normalized to void *,
too, in the case it is a pointer. */
while (!canonical_type_used_p (t) && !POINTER_TYPE_P (t))
{
- gcc_checking_assert (TYPE_STRUCTURAL_EQUALITY_P (t));
+ gcc_checking_assert (!in_lto_p ||
TYPE_STRUCTURAL_EQUALITY_P (t));
t = TREE_TYPE (t);
}
if (POINTER_TYPE_P (t))