diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 232a7d6546d..d8bed3a817d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2019-05-16 Jakub Jelinek + PR c++/90484 + * tree-ssa-scopedtables.c (equal_mem_array_ref_p): Don't assert that + sz0 is equal to sz1, instead return false in that case. + * omp-low.c (lower_rec_input_clauses): If OMP_CLAUSE_IF has non-constant expression, force sctx.lane and use two argument IFN_GOMP_SIMD_LANE instead of single argument. diff --git a/gcc/tree-ssa-scopedtables.c b/gcc/tree-ssa-scopedtables.c index 0614afc3be8..e08e24dfcc1 100644 --- a/gcc/tree-ssa-scopedtables.c +++ b/gcc/tree-ssa-scopedtables.c @@ -537,13 +537,10 @@ equal_mem_array_ref_p (tree t0, tree t1) || maybe_ne (sz1, max1)) return false; - if (rev0 != rev1) + if (rev0 != rev1 || maybe_ne (sz0, sz1) || maybe_ne (off0, off1)) return false; - /* Types were compatible, so this is a sanity check. */ - gcc_assert (known_eq (sz0, sz1)); - - return known_eq (off0, off1) && operand_equal_p (base0, base1, 0); + return operand_equal_p (base0, base1, 0); } /* Compare two hashable_expr structures for equivalence. They are