This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug ipa/87843] [9 Regression] SPEC miscompilation of 403.gcc and 502.gcc_r benchmarks


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))

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]