Hi! On Mon, 23 Oct 2017 18:17:38 +0100, Richard Sandiford wrote: > This patch makes get_inner_reference and ptr_difference_const return the > bit size and bit position as poly_int64s rather than HOST_WIDE_INTS. > The non-mechanical changes were handled by previous patches. (A variant of that got committed to trunk in r255914.) > --- gcc/gimplify.c 2017-10-23 17:11:40.246949037 +0100 > +++ gcc/gimplify.c 2017-10-23 17:18:47.663057272 +0100 > @@ -8056,13 +8056,13 @@ gimplify_scan_omp_clauses (tree *list_p, > - if (bitpos2) > - o2 = o2 + bitpos2 / BITS_PER_UNIT; > - if (wi::ltu_p (o1, o2) > - || (wi::eq_p (o1, o2) && bitpos < bitpos2)) > + o2 += bits_to_bytes_round_down (bitpos2); > + if (may_lt (o1, o2) > + || (must_eq (o1, 2) > + && may_lt (bitpos, bitpos2))) > { ("must_eq" is nowadays known as "known_eq".) As Julian points out in (thanks!, but please, bug fixes separate from code refactoring), there is an 'apparent bug introduced [...]: "known_eq (o1, 2)" should have been "known_eq (o1, o2)"'. I have not searched now for any other such issues -- could this one have been (or, any others now be) found automatically? OK to fix (on all relevant branches) this as in the patch attached? If approving this patch, please respond with "Reviewed-by: NAME " so that your effort will be recorded in the commit log, see . Grüße Thomas