https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127162
--- Comment #4 from aldy at quesejoda dot com --- On Wed, Sep 02, 2026 at 12:01:18PM +0000, jamborm at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127162 > > Martin Jambor <jamborm at gcc dot gnu.org> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |aldyh at gcc dot gnu.org > Summary|[15/16/17 Regression] |[15/16/17 Regression] > |internal compiler error: in |internal compiler error: in > |verify_mask, at |verify_mask, at > |value-range.cc:3125 with |value-range.cc:3125 with > |-O2 |-O2 since > | |r15-41-gd71308d5a681de > > --- Comment #3 from Martin Jambor <jamborm at gcc dot gnu.org> --- > Started with r15-41-gd71308d5a681de (Aldy Hernandez: Callers of irange_bitmask > must normalize value/mask pairs.) I haven't looked deeply, but get_pointer_alignment_1 in builtins.cc seems to have a path where it doesn't update bitposp: else if (TREE_CODE (exp) == SSA_NAME && POINTER_TYPE_P (TREE_TYPE (exp))) { unsigned int ptr_align, ptr_misalign; struct ptr_info_def *pi = SSA_NAME_PTR_INFO (exp); if (pi && get_ptr_info_alignment (pi, &ptr_align, &ptr_misalign)) { *bitposp = ptr_misalign * BITS_PER_UNIT; *alignp = ptr_align * BITS_PER_UNIT; /* Make sure to return a sensible alignment when the multiplication by BITS_PER_UNIT overflowed. */ VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV if (*alignp == 0) *alignp = 1u << (HOST_BITS_PER_INT - 1); /* We cannot really tell whether this result is an approximation. */ return false; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ }
